如何以编程方式操作XIB文件

时间:2015-07-15 04:08:13

标签: ios objective-c xcode views xib

我正在处理一个处理太多 Nib Xib 文件的应用。一个主 xib 将其他 xib 作为子视图调用。我想根据数据大小以编程方式操作被调用的xib高度。直到现在我只知道如何处理通用视图。

1 个答案:

答案 0 :(得分:0)

你在哪里

快速浏览一下您共享的xib file,特别是其层次结构及其设置,我可以肯定地说xib文件根本不准备支持任何动态大小。

简单的xib文件包含大约200个其他视图,并且所有视图都具有默认的 autoresize-mask 设置;

UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin

这意味着(简要地)所有视图都粘合到其超级视图的左上角,如果超级视图这样做,它们的位置和大小都不会改变;我们知道这完全是你的问题。

看一下这个截图,它非常健谈(紫色矩形显示了所有视图的常见默认设置):

enter image description here

注意:似乎没有人真正关心构建视图层以支持基本不同大小的屏幕,这是iOS开发的关键部分,因为我们已经拥有了iPhone5;到目前为止,它已变得更加重要,因为我们拥有iPhone6和6+设备。

你应该前往

建议您使用 autoresize-mask 自动布局来设置视图,但从头开始教您这些工具和技术远远超出了这个答案的目的,但我可以建议您查看高级自动布局(自iOS6起支持)以支持您的动态屏幕尺寸视图层。之后,如果您认为有必要,您还可以采用支持尺寸类

来自Apple的Auto Layout Guide可以教会你这方面的魔力,开发人员可以在网上找到一些精彩的教程。

Apple网站上也提供了Multiple Size Classes文档,如果需要,相关教程也可以在网络上随处可见。

注意:很难直接指示如何更改xib文件,因为最终规则将用于支持动态尺寸,取决于您的(客户端) )您如何更新个人观点的大小,您希望在屏幕上看到或显示的内容等政策...;因此,可以使用无限量的可能设置变体,这些变量可以满足您支持动态尺寸的要求。

相关问题