V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
hilenlai
V2EX  ›  iDev

安利下用 Swift 仿写的微信客户端,有兴趣的可以看下

  •  
  •   hilenlai · 2016-03-04 10:41:13 +08:00 · 6092 次点击
    这是一个创建于 2947 天前的主题,其中的信息可能已经有所发展或是发生改变。

    地址: https://github.com/hilen/TSWeChat
    预览图:
    preview1
    preview1

    44 条回复    2016-03-11 14:38:50 +08:00
    qqzj
        1
    qqzj  
       2016-03-04 11:04:53 +08:00
    厉害,就是那些标题都硬编码了,不便于做国际化啊
    hustlzp
        2
    hustlzp  
       2016-03-04 11:11:38 +08:00
    好东西,值得参考
    lincanbin
        3
    lincanbin  
       2016-03-04 11:33:16 +08:00
    UI ?还是带后台的?
    sobigfish
        4
    sobigfish  
       2016-03-04 11:34:21 +08:00
    QR 的话这个貌似可以
    https://github.com/liufan321/SwiftQRCode

    用的 iOS 内置的 所以应该是的 8.0 以上版本
    EPCoo
        5
    EPCoo  
       2016-03-04 12:49:27 +08:00
    看起来不错,已 Star !
    bozong
        6
    bozong  
       2016-03-04 13:00:48 +08:00
    怎么安装
    matsuijurina
        7
    matsuijurina  
       2016-03-04 13:03:27 +08:00
    Readme 里面的 deposit 多打了一个 e 。
    zacard
        8
    zacard  
       2016-03-04 13:13:58 +08:00
    已 star ,说明也很详细,有空来学习下。
    wohenyingyu01
        9
    wohenyingyu01  
       2016-03-04 13:33:03 +08:00
    呃,.../GitProjects/TSWeChat/TSWeChat/Supportting Files/TSWeChat-Bridging-Header.h:11:9: 'SVProgressHUD/SVProgressHUD.h' file not found ?
    MScZJN
        10
    MScZJN  
       2016-03-04 13:58:38 +08:00
    @wohenyingyu01 同样的问题
    lxian2
        11
    lxian2  
       2016-03-04 14:15:51 +08:00
    先 star 一下~
    metrue
        12
    metrue  
       2016-03-04 14:16:53 +08:00
    聊天是什么协议?
    hilenlai
        13
    hilenlai  
    OP
       2016-03-04 14:17:37 +08:00
    @matsuijurina 😂,我回头改一下,好仔细。这都发现了
    hilenlai
        14
    hilenlai  
    OP
       2016-03-04 14:18:04 +08:00
    @qqzj 是的,现在页面比较少,我就写死了。 后续考虑国际化会统一处理 :)
    hilenlai
        15
    hilenlai  
    OP
       2016-03-04 14:18:41 +08:00
    @metrue 仅实现了 UI 和交互, 数据层面是本地的 JSON 文件
    ynyounuo
        16
    ynyounuo  
       2016-03-04 14:18:43 +08:00
    @wohenyingyu01
    @MScZJN
    通过 TSWeChat.xcworkspace 再 build
    hilenlai
        17
    hilenlai  
    OP
       2016-03-04 14:20:56 +08:00
    @wohenyingyu01 @MScZJN
    CocoaPods 的版本是?
    hilenlai
        18
    hilenlai  
    OP
       2016-03-04 14:21:45 +08:00
    @lincanbin 不带后台的,后续可能会加一些第三方的 IM :)
    hilenlai
        19
    hilenlai  
    OP
       2016-03-04 14:22:01 +08:00
    @sobigfish 好的,多谢 :)
    MScZJN
        20
    MScZJN  
       2016-03-04 14:33:23 +08:00
    @hilenlai 你好 0.39.0
    wohenyingyu01
        21
    wohenyingyu01  
       2016-03-04 15:07:23 +08:00
    @hilenlai 没有装 cocoapod ,但是可以正常运行, cocoapod 似乎只是帮助管理导入其他项目而已,实际编译并不需要。(从来没用过 xocde 的 workspace 所以刚刚直接无视了= =)
    sokis
        22
    sokis  
       2016-03-04 15:07:48 +08:00
    Star
    hahasong
        23
    hahasong  
       2016-03-04 15:27:31 +08:00
    好逼真的样子 star
    EugeneQiu
        24
    EugeneQiu  
       2016-03-04 15:30:54 +08:00
    cool star
    hilenlai
        25
    hilenlai  
    OP
       2016-03-04 15:37:01 +08:00
    @wohenyingyu01
    看看是不是跑错文件了

    @MScZJN
    好吧,我在上传项目的时候直接把 pods 的源文件也上传了。 Enjoy
    johnmuu
        26
    johnmuu  
       2016-03-04 16:57:17 +08:00   ❤️ 1
    Star 拿去!~
    NxiJSiOS
        27
    NxiJSiOS  
       2016-03-04 17:43:27 +08:00
    你好,问一个问题:为什么写含有图片的 Cell 。要添加一个图片盖在上面。
    let stretchConverImage = model.fromMe ? TSAsset.SenderImageNodeBorder.image : TSAsset.ReceiverImageNodeBorder.image
    let bubbleConverImage = stretchConverImage.resizableImageWithCapInsets(stretchInsets, resizingMode: .Stretch)
    self.coverImageView.image = bubbleConverImage
    self.coverImageView.frame = CGRectMake(
    self.chatImageView.left - 1,
    self.chatImageView.top,
    self.chatImageView.width + 2,
    self.chatImageView.height + 2
    )
    hilenlai
        28
    hilenlai  
    OP
       2016-03-04 17:49:26 +08:00
    @NxiJSiOS 因为如果你截屏微信,放到最大看,或者使用越狱设备查看 微信,你就发现图片周围是有一个边的,也就是有一个 UIImageView. 这个边是用来轮廓图片使用的,我猜微信的设计是为了防止改变聊天背景图时,发松的图片的轮廓和背景图格格不入吧。所以就加上了这个 cover
    NxiJSiOS
        29
    NxiJSiOS  
       2016-03-04 17:58:17 +08:00
    发送的图片的轮廓和背景图格格不入?为什么会格格不入,我发现,好像 Yep ,和 JSQ 都好像有添加一个 imageView 盖在上面,就是不太明白。
    hilenlai
        30
    hilenlai  
    OP
       2016-03-04 18:00:32 +08:00
    @NxiJSiOS 我猜测是设计原因吧,可能微信的设计师要求这样的 😂 。你可以尝试把 cover 去掉,然后再看看效果。 另外还可以看下微信的 resources 文件,里面是有这个 cover 图片的
    NxiJSiOS
        31
    NxiJSiOS  
       2016-03-04 18:26:35 +08:00
    thx
    yxaaa123
        32
    yxaaa123  
       2016-03-04 18:31:44 +08:00
    github 上有人用 oc 写了个还挺好的,我用 swift 写了一下。。。还没写完
    hilenlai
        33
    hilenlai  
    OP
       2016-03-04 18:35:02 +08:00
    @yxaaa123 加油加油
    zonghua
        34
    zonghua  
       2016-03-04 18:51:25 +08:00
    高仿至极,呼之欲出。有没有类似 React 的高仿?
    hilenlai
        35
    hilenlai  
    OP
       2016-03-04 19:08:18 +08:00
    @zonghua 这个不晓得,可以探索探索
    allenforrest
        36
    allenforrest  
       2016-03-04 22:03:28 +08:00
    @NxiJSiOS @hilenlai 因为图片本身一般是矩形的,但是消息 cell 是有特殊形状的,可能是圆角矩形,也能是带小尾巴的气泡,显示效果上要把图片完美嵌入消息 cell 里面,图片边缘会被消息 cell 的圆角矩形轮廓或者小尾巴气泡轮廓扣掉,因此需要一张 cover 图和原图做 mask 。
    Youthink
        37
    Youthink  
       2016-03-04 22:09:28 +08:00
    安利是啥?
    hilenlai
        38
    hilenlai  
    OP
       2016-03-04 22:34:16 +08:00 via iPhone
    @Youthink 你没有被推销过么?
    @allenforrest 解释的很赞👍🏻
    loveuqian
        39
    loveuqian  
       2016-03-04 22:37:54 +08:00
    有 OC 版嘛
    hilenlai
        40
    hilenlai  
    OP
       2016-03-04 22:40:29 +08:00 via iPhone
    @loveuqian 没有🙄
    crystom
        41
    crystom  
       2016-03-04 23:46:03 +08:00
    厉害,收藏起来 等学完 oc 再来学 swift ,嘿嘿
    ijimmy
        42
    ijimmy  
       2016-03-05 00:29:52 +08:00 via iPhone
    看上去不错
    XXdandan
        43
    XXdandan  
       2016-03-11 14:37:02 +08:00
    恩恩,不错。。我用 oc 写了个类似的。。待我把后台也搭建好了,再开源下。
    hilenlai
        44
    hilenlai  
    OP
       2016-03-11 14:38:50 +08:00
    @XXdandan 期待 😉
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2658 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:19 · PVG 23:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.