有三个view,分别为view1、view2、view3,通过UISegmentedControl进行三个view的切换。
@interface UIViewDemoViewController : UIViewController {
IBOutlet UIView *view1;
IBOutlet UIView *view2;
IBOutlet UIView *view3;
}
- (IBAction)switchViews:(id)sender;
@end
在Interface Builder中分别建立三个view,关联到各自的输出口,每个view上的UISegmentedControl关联到switchViews:操作。
- (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:view1];
[self.view addSubview:view2];
[self.view addSubview:view3];
}
- (IBAction)switchViews:(id)sender{
UISegmentedControl *segmentedControl = sender;
[[NSNotificationCenter defaultCenter] postNotificationName:@"switchViews" object:[NSNumber numberWithInteger:[segmentedControl selectedSegmentIndex]]];
}
接着,为UISegmentedControl控件建立一个处理类。
@interface SegmentedControl : UISegmentedControl {
IBOutlet UIView *view1;
IBOutlet UIView *view2;
IBOutlet UIView *view3;
IBOutlet UIViewDemoViewController* viewController;
}
@end
将UISegmentedControl控件的Class改为刚创建的处理类:SegmentedControl,然后,将UISegmentedControl控件关联到四个输出口:view分别关联到刚创建的三个view上,viewController关联到File's Owner上。
- (void)awakeFromNib{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(switchViews:)
name:@"switchViews"
object:nil];
}
- (void)switchViews:(NSNotification*)notification{
NSNumber *viewNumber = [notification object];
NSInteger i = [viewNumber integerValue];
[self setSelectedSegmentIndex:i];
UIView *chosenView = nil;
switch (i) {
case 0:
chosenView = view1;
break;
case 1:
chosenView = view2;
break;
case 2:
chosenView = view3;
break;
default:
break;
}
if (chosenView) {
[[viewController view] bringSubviewToFront:chosenView];
}
}
- (void)dealloc{
[super dealloc];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
代码可以到视图切换的动画效果进行下载。
分享到:
相关推荐
一个视图中两个控制器来回的切换 UISegmentedControl UIwebView
采用Swift编写自定义UISegmentedControl实现的滑块Tab效果
UISegmentedControl轻松使用
UISegmentedControl使用ChildViewController切换UIViewcontroller
利用 UISegmentedControl 实现的滑块儿 Tab 效果.zip,iOS的自定义uisegmentedcontrol替换,用swift编写
用UISegmentedControl模拟TabbarController效果实现页面间的切换
iphone中的基础控件UISegmentedControl,适合初学者,主要学习UISegmentedControl的常用属性设置、点击事件、分段控制器,每一个按钮都有自己独立的功能,其数据源是一般是数组等
MHSegmentedView 是使用 UISegmentedControl 切换视图的插入式选项卡式 Viewcontainer。 使用 Storyboard 或 UIView 初始化程序初始化 MHSegmentedView 设置 MHSegmentedView 对象的委托 MHSegmentedView 使用 ...
UISegmentedControl Demo代码,单选栏
自定义UISegmentedControl,源代码地址:https://github.com/STShenZhaoliang/STKitSwift
WLSegmentedControls WLHorizontalSegmentedControl是具有多选支持的UISegmentedControl的自定义实现。 WLVerticalSegmentedControl是相应的垂直版本。
ios应用源码之自定义颜色的uisegmentedcontrol .
根据用户点击标题底下控制器来回切换,也可以拖动tableView来回切换。
IOS应用源码——自定义颜色的UISegmentedControl.zip
Android仿iOS7的UISegmentedControl 分段
前两年IOS应用源码-主要是用于毕业设计学习的。
自定义UISegmentedControl空间
UISegmentedControl分段控件代替了桌面OS上的单选按钮。不过它的选项个数非常有限,因为你的IOS设备屏幕有限。当我们需要使用选项非常少的单选按钮时它很合适。 一、创建 代码如下: UISegmentedControl* ...
IOS应用源码之自定义颜色的UISegmentedControl .rar