Iphone 如何使UISegmentedControl像UITabBarController一样工作?
选择不同的线段时,如何使用UISegmentedControl加载不同的子视图?我是objective-c和iOS编程新手Iphone 如何使UISegmentedControl像UITabBarController一样工作?,iphone,objective-c,ios,uisegmentedcontrol,Iphone,Objective C,Ios,Uisegmentedcontrol,选择不同的线段时,如何使用UISegmentedControl加载不同的子视图?我是objective-c和iOS编程新手 或者有没有一种方法可以使UITabBarController看起来像UISegmentedControl?您可以在根控制器的视图中添加UIToolbar。在其中,您将有一个UISegementedControl,其中包含根控制器处理的操作。根据单击的段,您将加载不同的视图,并在UIToolbar下显示该视图(以及您希望该视图位于下方的任何其他内容) 希望这有帮助 确定为此,
或者有没有一种方法可以使UITabBarController看起来像UISegmentedControl?您可以在根控制器的
视图中添加UIToolbar
。在其中,您将有一个UISegementedControl
,其中包含根控制器处理的操作。根据单击的段,您将加载不同的视图,并在UIToolbar
下显示该视图(以及您希望该视图位于下方的任何其他内容)
希望这有帮助 确定为此,在视图中创建两个视图,并在.h文件中为这两个视图创建属性
及
将iAction附加到分段控件并编写如下代码
if(self.yourSegmentedControl.selectedSegmentIndex==0)
{
view1.hidden=YES;
view2.hidden=NO;
}
else if(self.categorySegmentedControl.selectedSegmentIndex==1)
{
view2.hidden=YES;
view2.hidden=NO:
}
希望这对你有帮助 用于编程方法
在loadView中:
{
NSArray *segments = [NSArray arrayWithObjects:@"Left", @"Right", nil];
segmentedControl = [[UISegmentedControl alloc]initWithItems:segments];
[segmentedControl addTarget:self
action:@selector(changeSubViews)
forControlEvents:UIControlEventValueChanged];
contentView = [UIView alloc]initwithFrame:(the frame where you want the subViews to be displayed)];
[self.view addSubView:contentView];
}
- (void)changeSubViews
{
switch(segmentedControl.selectedSegmentIndex)
{
case 0:
{
[rightView removeFromSuperView];
if (leftView ==nil){leftView alloc, init;}
[contentView addSubView:leftView];
break;
}
case 1:
{
[leftView removeFromSuperView];
if (rightView ==nil){rightView alloc, init;}
[contentView addSubView:rightView];
break;
}
}
}
你应该在这篇文章中考虑克拉福德的回答:
这将允许您保持正常的ViewController行为(支持旋转、内存警告等),同时允许在其顶部使用分段控件。我已经知道如何做到这一点。但是如何在隐藏非活动子视图的同时显示活动子视图?就像Tabbar一样,为什么不在两个视图中使用相同的分段控件。并且可以显示分段控件的选择。这是我的问题。我不知道怎么做