加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 在两者之间进行选择 – Interface Builder或通过代码

发布时间:2020-12-14 19:20:12 所属栏目:百科 来源:网络整理
导读:当我开始使用IPhone开发时,我更喜欢使用Interface builder在我的应用程序中创建视图.随着时间的推移,我考虑通过代码创建应用程序的选项,我真的觉得很舒服. 现在,当我知道创建用户界面的两种方法时,我怀疑要采用哪种方式.我一直在想在哪里使用IB以及在哪里使
当我开始使用IPhone开发时,我更喜欢使用Interface builder在我的应用程序中创建视图.随着时间的推移,我考虑通过代码创建应用程序的选项,我真的觉得很舒服.
现在,当我知道创建用户界面的两种方法时,我怀疑要采用哪种方式.我一直在想在哪里使用IB以及在哪里使用代码.在开始使用我的应用程序之前,我该如何弄清楚,我应该以哪种方式创建我的UI?

解决方法

有许多因素会影响您的选择.它可以归结为个人品味,但使用Interface Builder有一些优势.

首先要认识到的是UI设计本身就是一项视觉任务. Interface Builder可以让您以比代码更快的速度创建和修改UI.而不是无休止地在代码中调整CGRect值,然后重新编译,测试和重复此过程,您可以获得有关更改的直接视觉反馈.这意味着您可以更有效地优化和优化UI,甚至可以在不花费太多时间或精力的情况下测试完全不同的布局.

另一个重点是,如果您可以在Interface Builder中创建和布局控件,则意味着视图控制器中的代码更少.更少的代码总是一件好事(更少的错误,更容易维护,……).

所以我相信你应该尝试尽可能多地在Interface Builder中定义布局和属性.对于喜欢“完全控制”事物的人来说,这可能很难.许多年前,可视化GUI编辑器因做错事而闻名,开发人员常常避免使用手工做任何事情.但Interface Builder非常擅长它的功能,您可以在需要时轻松地深入研究代码.

您只需在代码中创建控件的情况是您需要动态创建多个对象,例如照片库的缩略图按钮,或者您是否有自定义布局要求.

例如,如果你有一个标签,其高度在运行时是动态的,并且你想在它下面布置一堆控件(考虑它的高度),那只能在代码中完成(UPDATE:iOS 6的自动布局可以现在就这样做).您可以在代码中创建和布局所有内容,或者您??仍然可以使用Interface Builder创建控件,并在XIB中为它们提供任意位置,这些位置在您在代码中进行布局时会被修改.在我的一些XIB中看到这种情况并不罕见:

可以在IB中创建并完全布置顶部的按钮,但是下面的图像视图需要在运行时计算它们的图像和位置.所以我们只是给他们在XIB中的任意位置.有些人可能会觉得这很难看,但它可以节省编写代码以创建图像视图和设置其属性的时间和精力.同样,更少的代码是一件好事.

其他时候您可能想要使用代码设置某些显式属性.假设您有一个需要接收触摸事件的图像视图,因为它添加了一些手势识别器.您需要将“User Interaction Enabled”属性设置为TRUE.最好在代码中执行此操作,因为需求更加明显,您可以为设置属性的原因留下适当的注释.如果您需要删除并重新创建一组视图,那么在界面构建器中也很难“丢失”设置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读