2013-04-29 82 views
16

当使用.xib文件时,对代码/应用程序的改变会对模拟指标有什么影响?或者它仅仅是为了您的预览工具的好处?模拟指标有什么影响?

+1

如果您选择模拟公制 - >尺寸,然后在Xib文件中指定您的视图的大小,此视图在加载时将具有此大小 – onmyway133 2014-06-27 07:29:27

回答

12

模拟指标主要是帮助您设计界面的设计帮助。它们对.xib * [1]几乎没有直接影响。它们非常有用,因为您可以模拟诸如视图控制器等嵌入在导航控制器中的内容,由于导航栏占用了一些空间,因此可以减少处理空间。如果您正在布置仅用于横向的viewController,它们也非常方便。当它们被引入时,它是唯一的方法来检查你的界面在较短的iPhone 4显示器和较高的iPhone 5显示器上的显示效果* [2]。

我频频设置大小iPhone 4英寸这是因为:1)我在广场上找到工作的viewController分心,2)它占用了屏幕房地产更让我看到更多的我的故事板的对我笔记本电脑显示此方法危害更小,因此将尺寸等级更改为wC hR,因为后者实际上会影响对不同尺寸的设备使用哪些约束。


[1],因为它被存储在.xib.storyboard文件的尺寸取向度量会影响的viewController的大小。如果您将设置保留为推断,则Xcode将使用600 x 600作为viewController的大小。通常情况下,这并没有什么区别,因为viewController在加载时会根据设备大小而定。

[2]在模拟度量引入的时间,这是方式来测试iPhone 4S的对比检查出设计上的新的更高iPhone 5,苹果公司已经推出以来其他更好的方法设计各种尺寸的设备。

+0

很酷,谢谢!因此,如果一切都以编程方式进行布置,那么他们就没有真正的帮助,在我正在开发的应用程序中,情况就是如此。谢谢vacawama。 – drc 2013-04-29 13:56:15

+1

我有一个视图控制器(在故事板中),如果我将“大小”模拟指标从“推断”更改为3.5英寸,我使用的UITableView是允许用户滚动一路以达到底端。 – drc 2013-09-29 21:41:58

+14

在这种情况下,似乎更改模拟指标对我的应用程序有直接影响?我正在测试一个真实的设备。 – drc 2013-09-29 21:42:42

13

实际上改变Simulated Metrics确实会以一种非常鬼鬼祟祟的方式影响你的应用程序。我在使用SwipeView库时发现了这一点,我的幻灯片全部都是通过更改模拟度量标准大小来实现的。

引擎盖下改变其尺寸设置笔尖文件的矩形的值作为例如:

<rect key="frame" x="0.0" y="0.0" width="600" height="600"/> 

即值会是大小笔尖发射。如果我们试图测量视图中的元素也可以加载和查看会出现,我们将有虚假信息:

// viewDidLoad 
(lldb) po splashImageView 
<UIImageView: 0x79913eb0; frame = (0 0; 600 600); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x799ca310>> 


// viewWillAppear 
(lldb) po splashImageView 
<UIImageView: 0x79913eb0; frame = (0 0; 600 600); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x799ca310>> 

一旦布局子视图一点,我们确实有合适的大小,但据SwipeView而言已经太晚了它已经计算了一切的位置。

// viewDidLayoutSubviews 
(lldb) po splashImageView 
<UIImageView: 0x79913eb0; frame = (0 0; 768 1024); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x799ca310>> 

如果任何人都可以提供更多的信息,我真的很喜欢它。

+0

相关知识;当你想以编程方式初始化awakeFromNib中的视图内容时,这可能会特别恼人,而且它还不是正确的尺寸! – DivideByZer0 2015-07-07 14:20:27

+0

嗨雨果...你解决了这个问题吗?我正在使用swipeView,并且自己遇到了这个问题。除非我更改模拟指标,否则它在设备上无法正确显示。如何解决这个问题? – momentsnapper 2015-08-09 09:41:46

+0

@momentsnapper我没有,最终这个我正在研究的旧应用程序有很多工作需要真正的多屏幕尺寸。我保留了iPhone 5屏幕尺寸的模拟指标。 – Hugo 2015-09-09 17:27:53

4

关注WWDC 2015 Session 407 Implementing UI Designs in Interface Builder,他们谈到了模拟度量

enter image description here

推断

现在,现在他们都在说推断。基本上推断 意味着使用我周围的上下文。我们知道我们在一个标签栏 控制器中,我们知道我们在导航控制器内,所以界面 构建器知道显示哪个栏。

模拟度量

所有这些指标都没有在运行时 有一个例外影响您的实际应用,这就是模拟度量的尺寸。

大小的模拟指标实际上将改变你的看法 控制器的尺寸,但一般你打算把它变成一个视图控制器 层次,将调整其大小,但它也是有益的,如果你是 创建免费表单视图控制器,例如,并且想要设置你自己的尺寸 。

相关问题