为不同的设备创建不同的场景

时间:2017-05-22 07:13:09

标签: swift xcode storyboard

我想我可以为不同的设备创建不同的故事板,但我想知道有没有办法为不同的设备创建不同的场景?只有一个场景很难通过Size类适应不同的屏幕。

我只能在故事板中创建一个入口点,但有没有办法可以动态交换场景?

1 个答案:

答案 0 :(得分:1)

Size类比你想象的更具欺骗性。它的使用非常有限,所以你不能轻易改变iPhone 5和iPhone 5之间的布局。例如,6。

取决于"变化"在您的视图上,您​​可以根据所显示的设备创建一个加载不同笔尖的类。

通过覆盖两者:

override init(frame: CGRect)

required init?(coder aDecoder: NSCoder)

在视图中,您可以根据所定位的设备加载所需的笔尖,而不是为视图加载单个笔尖:

nib = UINib(nibName: "iPhone4Size", bundle: bundle)

此技术用于此处解释的UIDesignable:

http://supereasyapps.com/blog/2014/12/15/create-an-ibdesignable-uiview-subclass-with-code-from-an-xib-file-in-xcode-6

然而,每个设备加载不同的笔尖"不是,这只是一个简单的开关案例"返回一个不同的Nib名称。