【发布时间】:2013-07-29 08:31:46
【问题描述】:
基本上,我想做的是,
我想在每次点击分段控件时加载 2 个不同的 XIB 文件
是否可以加载 2 个不同的 XIB 文件?
例如:
当我点击View 1 时,我的第一个XIB 应该被加载,当我点击View 2 我的第二个XIB 应该被加载。
有可能吗?
【问题讨论】:
标签: iphone ios ipad xib uisegmentedcontrol
基本上,我想做的是,
我想在每次点击分段控件时加载 2 个不同的 XIB 文件
是否可以加载 2 个不同的 XIB 文件?
例如:
当我点击View 1 时,我的第一个XIB 应该被加载,当我点击View 2 我的第二个XIB 应该被加载。
有可能吗?
【问题讨论】:
标签: iphone ios ipad xib uisegmentedcontrol
你可以像下面这样使用 xib:-
UIView 或UIsegmentController 并连接它的IBOutLate,如下图所示。在viewDidLoad secondView 中作为隐藏的 True 如下所示:-
- (void)viewDidLoad
{
myview1.hidden=FALSE;
myview2.hidden=TRUE;
[super viewDidLoad];
}
放置段控件ValueChange动作并与段控件连接为ValueChange:-
-(IBAction)segmentedControlIndexChanged{
switch (seg.selectedSegmentIndex) {
case 0:
myview1.hidden=FALSE;
myview2.hidden=TRUE;
break;
case 1:
myview1.hidden=TRUE;
myview2.hidden=FALSE;
break;
default:
break;
}
}
现在运行你的项目,它看起来像:)
【讨论】:
您可以在同一个nib/xib 文件中创建两个视图,并在单击Segemented control 时添加特定的view
一个视图在控制器类中已经有outlet,而其他视图创建一个IBOutlet 并使用。
【讨论】:
如果我理解您的图片,我可以在同一个 xib 中看到两个视图。您要做的是从同一个 xib 加载两个不同的视图。
你需要使用 [NSBundle loadNibNamed:owner:options:] 方法来实现。
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyXIBName" owner:self options:nil];
数组 nib 将保存给定 XIB 下的所有视图。您可以迭代/过滤,然后在段控制单击时加载所需的视图。
【讨论】: