将 Storyboard 和 xib 用于同一个视图控制器?

Posted

技术标签:

【中文标题】将 Storyboard 和 xib 用于同一个视图控制器?【英文标题】:use Storyboard and xib for same viewcontroller? 【发布时间】:2015-06-16 07:14:15 【问题描述】:

我一直在我的这个项目中使用故事板。除 3.5 英寸 iphone 屏幕外,其他 ipad 和 iphone 设计已修复。在 3.5 英寸按钮重叠中,视图隐藏不固定。这是否可以使用情节提要为 iPhone 3.5 英寸屏幕加载 xib 以用于其他屏幕加载?

【问题讨论】:

通过设置元素约束以适应任何类型的屏幕尺寸。 使用不同的方式...隐藏一些视图或按钮重叠或底部视图隐藏在使用 3.5 英寸尺寸的约束时发生的任何一种情况。其他尺寸完美地工作 如果您将约束完美地设置为在情节提要中查看,那么它适用于所有设备。为什么你要增加工作来为单个视图制作两个 UI 文件。 【参考方案1】:

要获取屏幕大小,您可以使用UIScreen

CGFloat width = [UIScreen mainScreen].bounds.size.width;

然后使用一些ifstatments,您应该能够根据您的屏幕尺寸进行调整。

【讨论】:

【参考方案2】:

是的,你可以通过简单的 if 条件来做到这一点

UIViewController *viewController
if([UIScreen mainScreen].bounds.size.height==480)

      viewController=[[viewController alloc]initWithNibName:@"your_nib_name" bundle:nil];

else

       viewController = [self.storyBoard instantiateViewControllerWithIdentifier:@"your_vc_id"];

【讨论】:

以上是关于将 Storyboard 和 xib 用于同一个视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一个项目中通过导航栏连接xib和storyboard?

如何将xib转换为storyboard? [重复]

通过 Storyboard 和新 Xib 实现自定义表格部分标题

将自动布局(约束)从 xib/storyboard 转换为代码? [关闭]

将自动布局(约束)从xib / storyboard转换为代码? [关闭]

在 Storyboard 或 .xib 上拖动对象始终将其放在下面的对象内。为啥?