我正在学习xib文件,并开始理解为什么人们使用它们或代替故事板。我的问题是关于如何以及何时将xib用作"模板"。
让我说我有一个xib映射到我的自定义UIView子类 - 我知道如何在IB中设置它 - 我的xib有一个UILabel子视图。这是一个非常简单的示例,仅用于问题的目的,但基本上我尝试创建一个可以重用于iOS的每个屏幕的视图"简介" walkthru,就像https://github.com/MatthewYork/MYBlurIntroductionView
的面板一样所以我想在设计时设置视图中的大部分内容,并且大部分内容对每个实例都是通用的。我想要放在UILabel中的文本将是静态的(即我现在在设计时就知道它),但视图的每个实例都有不同的文本。所以,让我们说我想在每个实例中将UILabel定位在不同的位置,具体取决于其中的文本数量等,以及它是否涵盖其他重要内容。现在,我知道我可以通过编程方式执行此操作,即将标签作为@property链接在IB中,然后在代码中设置框架位置,但据我所知,使用xibs的好处是你可以做已知事情在设计时这样。
据我所知,我的选择是:
加载xib的新实例并按上述方式以编程方式设置位置等(如果可能的话,宁愿不这样做)
创建我的模板xib,设置所有常见的东西,然后复制它" CustomView1.xib"," CustomView2.xib"等等。但是并不太糟糕)
创建我的模板xib之后,使用故事板拖动新的UIViews并以某种方式将每个设置为链接到我的一个" CustomView.xib",然后以某种方式进行我的静态重新定位故事板上每个UIView实例中的子视图UILabel。那可能吗?如果是这样,那就太棒了。显然我知道我可以将每个UIViews设置为我的UIView子类的实例,但我只是错过了这样做和自定义每个实例之间的联系。该文件的所有者是否与它有关?