如何在XIB已经被分配/初始化之后重新加载视图?
问题描述:
我正在制作一个动画效果,其中一个视图(包含像按钮,标签等子视图)作为一个非常小的视图显示在一起,所有子视图紧密排列在一起,视图动画为全屏和全部子视图改变到他们的最终位置。如何在XIB已经被分配/初始化之后重新加载视图?
我以编程的方式完成所有这些,但我希望能够使用XIB来布置一切的最终位置。但是,如果我使用XIB进行最终布局,当视图第一次加载时,它将显示子视图的最终位置。
有没有什么办法可以使用2个单独的XIB来做到这一点,一个用于初始布局,一个用于最终布局?有什么方法可以创建已经创建的视图,并使用XIB来获取已有子视图的布局位置?
答
编号Nib文件存储为归档对象图,因此从中获取任何信息的唯一方法是将它们解压缩,从而实例化nib中所有对象的新版本。
我想如果你真的想要,你可以做到这一点,然后使用nib中视图的框架来设置原始视图中视图的框架。
但该视图已经初始化。我现在希望基于不同XIB中的内容重新定位所有子视图,而无需重新加载视图。 – MusiGenesis 2012-02-14 22:29:41
在这种情况下,你运气不好。看到我更新的答案。 – yuji 2012-02-14 22:34:08
这既刺激又令人大跌眼镜(刺激,因为这样能够使用XIBs非常有用,但是由于我目前采用XIB的方式是一种解脱,我认为这是唯一的方法,所以至少我没有浪费一大堆时间)。 – MusiGenesis 2012-02-15 15:01:09