模拟指标有什么影响?

drc*_*drc 19 xcode ios

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

Hug*_*ugo 15

实际上,改变模拟指标确实会以非常狡猾的方式影响您的应用程序.我发现在使用SwipeView库时,我的幻灯片都受到更改模拟度量标准大小的影响.

在更改该大小的引擎下,设置nib文件的rect值如下:

<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
Run Code Online (Sandbox Code Playgroud)

该值将是笔尖发射的大小.如果我们尝试在视图中测量元素,那么会出现加载和视图,我们将有错误的信息:

// 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>>
Run Code Online (Sandbox Code Playgroud)

一旦布局子视图完成,我们确实有适当的大小,但就SwipeView而言,它已经太晚了,已经计算了所有内容的位置.

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

如果有人能提供更多我真正喜欢的信息.


vac*_*ama 13

模拟指标大多设计援助,以帮助你奠定了你的界面.它们对.xib*[1]几乎没有直接影响.它们非常有用,因为您可以模拟像导航控制器中嵌入的视图控制器之类的东西,因为导航栏占用了一些空间,所以可以减少使用空间.如果你正在布局一个只用于横向的viewController,它们也非常方便.在它们被介绍的时候,这是检查你的界面在较短的iPhone 4显示器和较高的iPhone 5显示器上的外观的唯一方法*[2].

我经常将尺寸设置为iPhone 4英寸,因为:1)我发现在方形viewController工作分散注意力,2)它占用更少的屏幕空间,让我可以在笔记本电脑显示屏上看到更多我的故事板.将size类更改为wC hR时,此方法的危险性要小得多,因为后者实际上会影响对不同大小的设备使用哪些约束.


[1] 大小方向度量标准将影响viewController的大小,因为它存储在.xib.storyboard文件中.如果将设置保留为推断,Xcode将600 x 600用作viewController的大小.通常,这没有区别,因为viewController在加载时将适当地调整大小.

[2]在一次模拟指标进行了介绍,这是该方法来测试iPhone 4S的设计与检查出各种尺寸的设备设计的新的更高iPhone 5,苹果公司已经推出以来其他更好的办法.

  • 在这种情况下,似乎更改模拟指标对我的应用程序有直接影响?我正在测试一个真实的设备. (14认同)

onm*_*133 5

观看WWDC 2015会话407在Interface Builder中实现UI设计,他们讨论了模拟指标

在此输入图像描述

推断

现在,他们现在都在推断.推断只是意味着使用我周围的上下文.我们知道我们在标签栏控制器内部,我们知道我们在导航控制器内部,因此界面构建器知道要显示哪个栏.

模拟指标

所有这些指标都不会影响您在运行时的实际应用程序,只有一个例外,那就是大小模拟指标.

大小模拟度量标准实际上会改变视图控制器的大小,但通常你会将它放入一个视图控制器层次结构中,它会调整它的大小,但是如果你要创建自由格式视图控制器,它也会很有帮助,例如,并且想要设置自己的大小.