【发布时间】:2009-10-14 01:18:02
【问题描述】:
我有一个关于 Nib 和 UISegmentedControls 的最佳实践类型的问题。
我有一个 nib 文件,其中包含一个带有 3 个按钮的 UISegmentedControl。切换时,每个都在窗口的主要部分显示不同的视图。
一切正常,但我怀疑我的方法有缺陷,想知道是否有人可以建议我“打算”这样做的方式。
目前在 NIB 中,我有 3 个 UIView,它们相互重叠,然后在 .m 文件中,我修改每个 UIView .hidden 以隐藏和显示我感兴趣的那个。
- (IBAction)segmentAction:(id)sender
{
if([sender selectedSegmentIndex] == 0)
{
[self.view1 setHidden:NO];
[self.view2 setHidden:YES];
[self.view3 setHidden:YES];
}
else if([sender selectedSegmentIndex] == 1)
{
[self.view1 setHidden:YES];
[self.view2 setHidden:NO];
[self.view3 setHidden:YES];
}
else if([sender selectedSegmentIndex] == 2)
{
[self.view1 setHidden:YES];
[self.view2 setHidden:YES];
[self.view3 setHidden:NO];
}
}
一切都“正常”,但 nib 文件编辑起来很痛苦,因为您不能轻易“关闭”其他 UIView,所以我总是在画布上选择错误的元素。 IB 还抱怨说:“这个视图与它的兄弟之一重叠”在信息对话框中。
鉴于我希望在 InterfaceBuilder 中布置所有视图,我应该采取什么方法。我应该有 4 个 nib 文件吗?如果是这样,当按下segmentControl 时我应该如何加载它们?您可以指导我使用任何示例代码吗?
谢谢
【问题讨论】:
标签: iphone objective-c