2015-09-28 55 views
7

我有一个自定义视图,需要在所有iPhone设备上显示(4,4S,5,5S,6和6 Plus)。在创建自定义视图XIB时,我已经提到它是“推断的”,但它不是为iPhone 6和iPhone 6 Plus设备调整大小。我无法弄清楚这个问题。我对“推断”和“自由形式”之间的实际差异感到困惑。有人能解释一下这些差异吗?Xcode Storyboard中“推断”与“自由”的区别是什么?

回答

9

推测根据其父场景调整场景大小。例如,如果您有一个与iPad大小相同的场景,然后将新场景添加到故事板并为其创建一个segue,则它会自动调整为与iPad场景(segue源自的场景)相同的大小, 。

自由形式忽略上述规则,并且可以在右侧的实用程序窗格中根据需要调整大小。

但这两者都与视图在实际设备上的显示和大小无关。为此,您需要使用auto layout和约束条件。或者springs and struts。如果他们需要更多的灵活性,有些甚至在代码中做。

2

“推断”是故事板的默认设置,它表示当导航栏位于导航控制器内部时,场景将显示导航栏,当它位于标签栏控制器内部时,则会显示导航栏等等。如果您愿意,您可以覆盖这些设置,但请记住,他们只是为了帮助您设计屏幕。模拟指标不会在运行时使用,它们只是一个视觉设计辅助工具,可以显示您的屏幕最终会变成什么样子。

“FreeForm”通常,当您将视图控制器作为子视图以编程方式添加到另一视图控制器时,您通常会使用自由形式属性,并且您确实希望具有该固定大小。如果您按视图控制器或将其呈现为模式视图控制器(并使用模态演示样式),则不需要使用自由格式。另一种使用自由格式属性的方法是预览视图控制器的实际大小,当使用现有演示样式呈现为模式视图控制器时。

相关问题