V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dahhd
V2EX  ›  程序员

五年 iOS 开发经验, UI 控件的使用依然无法炉火纯青,甚是惭愧!

  •  
  •   dahhd · 2020-11-07 23:48:58 +08:00 · 4033 次点击
    这是一个创建于 1237 天前的主题,其中的信息可能已经有所发展或是发生改变。
    lz 五年 iOS 开发经验,真五年:2015.10~至今。最近在做公司的一个新的项目,app 交互设计比较复杂,因为是商家端类型业务,需要交互操作的地方比较多,表单格式、单选多选、文字图片等组合交互页面甚是多。
    那么这就需要自定义 UI 控件,由于交互复杂在自定义 不同 UI 控件的过程中会很烦躁,还有就是 控件封装复用的问题,总感觉封装的不够彻底,很难兼容多种使用用途。觉得常用的 UI 控件无法在自己的手里自由畅快的自定义,到了 UI 走查的时候就非常痛苦,改这改那,很少有一次性通过的时候。
    有没有类似经历的同行老哥,来聊聊怎样把这种技能再进行深入和强化。
    35 条回复    2020-11-10 09:00:27 +08:00
    heiheidewo
        1
    heiheidewo  
       2020-11-08 00:50:35 +08:00
    来了,写了 5 年 iOS,写 UI 依旧要靠谷歌
    dswyzx
        2
    dswyzx  
       2020-11-08 00:56:14 +08:00 via iPhone   ❤️ 1
    现在甚至写个 helloworld 都想去 github 复制粘贴
    fansangg
        3
    fansangg  
       2020-11-08 00:58:47 +08:00
    你们 iOS 系统已经提供那么多很棒的控件了,你不想想 Android 开发还要照着 iOS 控件的交互去自定义,像那种日期时间选择的 whell,列表侧滑的选项啊,诸如此类
    drogohui
        4
    drogohui  
       2020-11-08 02:24:17 +08:00   ❤️ 2
    我是一个工作了 10 年的设计师,做了这么多年设计和这么多研发合作过,熟练错误少的研发屈指可数。很多研发基本不看标注,就交付了,我们都在背后骂这个傻逼咋不看标注呢?后期我发现其实是缺少了关键的一步,设计师是需要和研发解释一遍自己的设计应该怎么实现的,这样错误会减少很多,老哥,下次主动去找一下设计师让他解释一下应该怎么实现,讨论下怎么实现,这样能减少很多事。
    dahhd
        5
    dahhd  
    OP
       2020-11-08 07:45:05 +08:00 via iPhone
    @drogohui 这是个好的思路,可以试试。
    dahhd
        6
    dahhd  
    OP
       2020-11-08 07:45:23 +08:00 via iPhone
    @heiheidewo 真相了。
    dahhd
        7
    dahhd  
    OP
       2020-11-08 07:46:30 +08:00 via iPhone
    @fansangg 羡慕你们的自动布局写法,iOS 的自动布局太操蛋了!
    Macv1994
        8
    Macv1994  
       2020-11-08 07:59:13 +08:00 via Android
    不是很懂这行,现在移动开发不都是混合开发吗? native web hybrid ?
    WebKit
        9
    WebKit  
       2020-11-08 10:09:07 +08:00 via Android
    @Macv1994 不是啊,混合开发有的,但还不是主流。想要体验好。都需要纯原生
    zpxshl
        10
    zpxshl  
       2020-11-08 10:11:17 +08:00 via Android
    ui 是最难的。。。。
    rosu
        11
    rosu  
       2020-11-08 10:26:03 +08:00 via Android
    @dahhd 自动布局是什么功能?
    gggxxxx
        12
    gggxxxx  
       2020-11-08 10:30:58 +08:00 via iPhone
    UI 开发是最没技术含量的部分,但是却是最难做的部分。
    基础开发是比较有技术含量的部分,但是做起来最简单。
    icyalala
        13
    icyalala  
       2020-11-08 10:39:19 +08:00
    @gggxxxx
    UI 开发想做好并不难,是麻烦。
    基础开发只是看起来简单,想做好才是困难的。
    txx
        14
    txx  
       2020-11-08 10:44:17 +08:00
    10 年 iOS 开发表示依旧不会 😭
    jinhan13789991
        15
    jinhan13789991  
       2020-11-08 10:50:27 +08:00
    webview 嵌套 h5 页面。h5 总比原生的好写一些吧。
    dahhd
        16
    dahhd  
    OP
       2020-11-08 11:05:48 +08:00 via iPhone
    @jinhan13789991 这种对于主业是 iOS 者不现实,而且苹果也很讨厌这种技术类型应用上架。
    dahhd
        17
    dahhd  
    OP
       2020-11-08 11:06:51 +08:00 via iPhone
    @icyalala 是的,麻烦,比写业务逻辑代码麻烦的多。
    dahhd
        18
    dahhd  
    OP
       2020-11-08 11:09:59 +08:00 via iPhone
    @rosu 就是布局自适应,比如文字控件,默认只能显示一行的,但是可以通过自动布局技术让他无限的随着内容增多自动进行换行布局,且每个手机设备看起来效果一致,图片同理,按比例随着手机的尺寸自动的适当放大和缩小。
    dahhd
        19
    dahhd  
    OP
       2020-11-08 11:11:03 +08:00 via iPhone
    @txx 老司机了
    fffang
        20
    fffang  
       2020-11-08 11:13:53 +08:00   ❤️ 1
    确实 我作为面试官 面的都是 runloop runtime 八股文 结果进去一个不用全是写 UI 的 哈哈 真操蛋哪
    dahhd
        21
    dahhd  
    OP
       2020-11-08 11:14:51 +08:00 via iPhone
    @fffang 老哥真相了😄
    NonClockworkChen
        22
    NonClockworkChen  
       2020-11-08 11:27:22 +08:00
    复杂的 UI 难写的一笔,我搞不懂,之前很多人嘲笑 iOS 只会写 UI 。又不是光弄库,就能完成工作的。最后,我放弃了,没天赋,转行。。。
    billjobs
        23
    billjobs  
       2020-11-08 12:27:19 +08:00
    看到这标题和描述,差点以为底下又是什么培训课程的广告🐶
    dahhd
        24
    dahhd  
    OP
       2020-11-08 12:51:08 +08:00
    @billjobs 我是正经人🐶
    dahhd
        25
    dahhd  
    OP
       2020-11-08 12:53:14 +08:00
    @NonClockworkChen 老哥转哪了?
    Brucepac
        26
    Brucepac  
       2020-11-08 14:53:05 +08:00 via iPhone
    UI 状态千变万化,实现的方式也有很多种,想要做的拓展性维护性和复用性高,还是有点难度的,不然也不至于有那么多 UI 库动画库和各种架构了。看过不少 APP 效果很不错的 UI,但是代码很烂,各种业务耦合,只是实现了而已。
    justin2018
        27
    justin2018  
       2020-11-08 17:47:07 +08:00
    @NonClockworkChen 我也是 写的代码越多 感觉自己越来越没有天赋~
    Hongwu
        28
    Hongwu  
       2020-11-08 17:48:42 +08:00
    lottie 真实解决了很多这种无聊实现
    waytoexplorewhat
        29
    waytoexplorewhat  
       2020-11-08 20:54:31 +08:00
    写 UI 的关键在于许多复杂的步骤拆解成一步步细小的步骤,然后慢慢实现他,尤其是每个步骤都对应一个状态,如果是遇到不同状态之间转换都需要动画....emmmm 。幸好 SwiftUI 出了
    FreshOldMan
        30
    FreshOldMan  
       2020-11-09 09:54:41 +08:00
    ios 的 autolayout 的 ui 写法其实挺落后的,对比 react flexbox 的话。
    axex
        31
    axex  
       2020-11-09 10:53:17 +08:00
    类似于富文本编辑器?看开点,这是个超级大天坑。
    dahhd
        32
    dahhd  
    OP
       2020-11-09 11:30:58 +08:00 via iPhone
    @FreshOldMan 这个认同的
    bloomy8
        33
    bloomy8  
       2020-11-09 13:40:29 +08:00
    这有什么,我见过的有些同行 git 都用不利索
    ychost
        34
    ychost  
       2020-11-09 14:55:15 +08:00
    UI 太难了,CSS 现在都还勉强会点 flex 布局,其余的不会,
    twoconk
        35
    twoconk  
       2020-11-10 09:00:27 +08:00
    @drogohui 你们设计师好牛!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1036 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 22:28 · PVG 06:28 · LAX 15:28 · JFK 18:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.