在我的应用中,我有两个屏幕 - 首先显示用户个人资料,第二个 - 编辑个人资料信息。它们很相似。我已经完成了第一个屏幕的xib文件。
在第二个屏幕上重复使用它的最佳方法是什么?
答案 0 :(得分:3)
您应该将相关元素封装为自定义视图类。您可以通过使用代码而不仅仅是xib创建视图来解决此问题,我建议您这样做。
但是,如果你更喜欢使用xib,你可以创建一个模拟你想要重用的东西。然后在你的视图控制器中调用一些这样的代码:
UIView* aView = [UIView alloc] initWithFrame .....];
[[NSBundle mainBundle] loadNibNamed:@"MyReusableComponent" owner:aView options:nil];
UILabel* someLabel = aView.injectedLabel; //this is alive after loading the xib
[self.view addSubView:aView];
创建xib时,需要将Files Owner设置为一个类,该类将响应将要注入的属性的setter。 (例如你的新视图类)。这样您就可以连接引用。
有关更多信息,请查看Apple从xib加载表格单元格的示例 - 这是相同的技术。当您加载xib并指定所有者时,它会将xib中的值注入所有者,在本例中为自定义视图。
答案 1 :(得分:0)
您可以使用UITextField
s(而非UILabel
s,您可能已经逻辑上用于演示),您可以更改外观,并打开/关闭enabled
。作为一个最小的例子:
显示:
self.textField.borderStyle = UITextBorderStyleNone;
self.textfield.enabled = NO;
修改强>:
self.textField.borderStyle = UITextBorderStyleBezel;
self.textfield.enabled = YES;
你当然可以在外表上做更多的事情,而不仅仅是这些基础知识。
答案 2 :(得分:0)
你是说你进入视图控制器的编辑模式并重用那些你创建的元素?
答案 3 :(得分:-1)
在Xcode中:转到文件>重复。
然后将复制的xib命名为“editProfile”,这将为您提供可以根据需要调整的第一个xib的副本