iOS - 从 XIB 文件中引用并以编程方式移动视图
iOS - referencing and programmatically moving a view from an XIB file
我正在使用 Xcode 8 并处理遗留的 .xib 文件,需要弄清楚如何以编程方式移动所有对象。问题:
- 如何以编程方式引用视图(红色箭头所指)?
- 假设我可以引用该视图,以编程方式移动它是否也会相对移动其中包含的四个按钮和标签?
这是 .xib 文件的视图层次结构的屏幕截图:
通常,我会在一个单独的 .xib 文件中创建一个 UIView 对象,其中包含问题 #1 中的视图内容,并将其添加到上面引用的 .xib 文件,但这是现有代码,我想最小化如果可能的话进行更改。
假设您有这个故事板的视图控制器,Option+单击您的源文件以在助理编辑器中打开它。您按 CTRL+从文档大纲(箭头所指的位置)拖动到源文件中您希望插座出现的位置,Xcode 将为视图创建一个 IBOutlet。
如果您的问题是您可以只加载情节提要中的视图而无需视图控制器。我想你可以实例化视图控制器,对视图进行强引用,从其父视图中删除视图,然后将 viewcontroller 丢弃,但这似乎有点浪费;在这种情况下,我会将视图复制并粘贴到它自己的笔尖中。
请注意,就移动视图而言,是的,它会移动其所有子视图。如果这是一种临时动画,请考虑使用 .transform 属性 以及其中一种 UIView 动画方法。您还可以 CTRL+从界面生成器中拖动约束并在代码中操作约束。如果你正在使用约束,你应该避免手动设置 frame/center 否则自动布局将与你作斗争。
我正在使用 Xcode 8 并处理遗留的 .xib 文件,需要弄清楚如何以编程方式移动所有对象。问题:
- 如何以编程方式引用视图(红色箭头所指)?
- 假设我可以引用该视图,以编程方式移动它是否也会相对移动其中包含的四个按钮和标签?
这是 .xib 文件的视图层次结构的屏幕截图:
通常,我会在一个单独的 .xib 文件中创建一个 UIView 对象,其中包含问题 #1 中的视图内容,并将其添加到上面引用的 .xib 文件,但这是现有代码,我想最小化如果可能的话进行更改。
假设您有这个故事板的视图控制器,Option+单击您的源文件以在助理编辑器中打开它。您按 CTRL+从文档大纲(箭头所指的位置)拖动到源文件中您希望插座出现的位置,Xcode 将为视图创建一个 IBOutlet。
如果您的问题是您可以只加载情节提要中的视图而无需视图控制器。我想你可以实例化视图控制器,对视图进行强引用,从其父视图中删除视图,然后将 viewcontroller 丢弃,但这似乎有点浪费;在这种情况下,我会将视图复制并粘贴到它自己的笔尖中。
请注意,就移动视图而言,是的,它会移动其所有子视图。如果这是一种临时动画,请考虑使用 .transform 属性 以及其中一种 UIView 动画方法。您还可以 CTRL+从界面生成器中拖动约束并在代码中操作约束。如果你正在使用约束,你应该避免手动设置 frame/center 否则自动布局将与你作斗争。