iOS - 引用并以编程方式从XIB文件移动视图

时间:2016-10-26 21:41:01

标签: ios objective-c uiview interface-builder xib

我正在使用Xcode 8并处理遗留的.xib文件,需要弄清楚如何以编程方式移动所有对象。问题:

  1. 如何以编程方式引用视图(红色箭头指向)?
  2. 假设我可以引用该视图,会以编程方式移动它还会相对移动其中包含的四个按钮和标签吗?
  3. 以下是.xib文件的View层次结构的屏幕截图:

    enter image description here

    通常情况下,我只是在一个单独的.xib文件中创建一个UIView对象,其中包含来自问题#1的视图内容,并将上面引用的.xib文件添加到其中,但这是现有代码,我想尽量减少更改。可能的。

1 个答案:

答案 0 :(得分:1)

假设您有一个用于此故事板的视图控制器,请按Option +单击您的源文件以在助理编辑器中打开它。您可以从文档大纲(箭头指向的位置)按CTRL +拖动到源文件中要显示插座的位置,Xcode将为视图创建IBOutlet。

如果您的问题是,您可以在没有视图控制器的情况下从故事板加载视图。我想你可以实例化视图控制器,对视图进行强引用,从超级视图中删除视图然后删除视图控制器,但这看起来有点浪费;在这种情况下,我会将视图复制并粘贴到自己的笔尖中。

请注意,就移动视图而言,是的,它会移动所有子视图。如果这是一种临时动画类型,请考虑使用.transform属性以及一个UIView Animation方法。您还可以从界面构建器CTRL +拖动约束并操纵代码中的约束。如果您使用约束,则应避免手动设置框架/中心,否则autolayout将与您抗争。