有三个view,分别为view1、view2、view3,通过UISegmentedControl进行三个view的切换。

  1. @interface UIViewDemoViewController : UIViewController {
  2. IBOutlet UIView *view1;
  3. IBOutlet UIView *view2;
  4. IBOutlet UIView *view3;
  5. }
  6. - (IBAction)switchViews:(id)sender;
  7. @end

在Interface Builder中分别建立三个view,关联到各自的输出口,每个view上的UISegmentedControl关联到switchViews:操作。

  1. - (void)viewDidLoad {
  2. [super viewDidLoad];
  3. [self.view addSubview:view1];
  4. [self.view addSubview:view2];
  5. [self.view addSubview:view3];
  6. }
  7. - (IBAction)switchViews:(id)sender{
  8. UISegmentedControl *segmentedControl = sender;
  9. [[NSNotificationCenter defaultCenter] postNotificationName:@"switchViews" object:[NSNumber numberWithInteger:[segmentedControl selectedSegmentIndex]]];
  10. }

接着,为UISegmentedControl控件建立一个处理类。

  1. @interface SegmentedControl : UISegmentedControl {
  2. IBOutlet UIView *view1;
  3. IBOutlet UIView *view2;
  4. IBOutlet UIView *view3;
  5. IBOutlet UIViewDemoViewController* viewController;
  6. }
  7. @end

将UISegmentedControl控件的Class改为刚创建的处理类:SegmentedControl,然后,将UISegmentedControl控件关联到四个输出口:view分别关联到刚创建的三个view上,viewController关联到File's Owner上。

  1. - (void)awakeFromNib{
  2. [[NSNotificationCenter defaultCenter] addObserver:self
  3. selector:@selector(switchViews:)
  4. name:@"switchViews"
  5. object:nil];
  6. }
  7. - (void)switchViews:(NSNotification*)notification{
  8. NSNumber *viewNumber = [notification object];
  9. NSInteger i = [viewNumber integerValue];
  10. [self setSelectedSegmentIndex:i];
  11. UIView *chosenView = nil;
  12. switch (i) {
  13. case 0:
  14. chosenView = view1;
  15. break;
  16. case 1:
  17. chosenView = view2;
  18. break;
  19. case 2:
  20. chosenView = view3;
  21. break;
  22. default:
  23. break;
  24. }
  25. if (chosenView) {
  26. [[viewController view] bringSubviewToFront:chosenView];
  27. }
  28. }
  29. - (void)dealloc{
  30. [super dealloc];
  31. [[NSNotificationCenter defaultCenter] removeObserver:self];
  32. }

代码可以到视图切换的动画效果进行下载。

[转]IOS Segment页面之间view的切换的更多相关文章

  1. IOS—通过ChildViewController实现view的切换

    IOS-通过ChildViewController实现view的切换 在以前,一个UIViewController的View可能有很多小的子view.这些子view很多时候被盖在最后,我们在最外层Vi ...

  2. IOS中两个view的切换

    在ios中,rootview为PassWordViewController,secondview为SecondViewController,实现在rootview中听过一个跳转按钮实现跳转到secon ...

  3. ios中两个view动画切换

    @interface ViewController () @property(nonatomic,retain)UIView *redview; @property(nonatomic,retain) ...

  4. IOS关于UIViewController之间的切换

    IOS关于UIViewController之间的切换 1.NavigationController切换UIViewController的两种方式 方法一右侧进入 1 SecondViewControl ...

  5. IOS 页面之间的传值(主讲delegate)

    IOS的Delegate,通俗一点说就是页面之间的传值. 总结一下现在知道的IOS页面之间传值的方式有三种 1.使用NSNotification发送通知的传值 主要是通过NSNotificationC ...

  6. 在uwp仿IOS的页面切换效果

    有时候我们需要编写一些迎合IOS用户使用习惯的uwp应用,我在这里整理一下仿IOS页面切换效果的代码. 先分析IOS的页面切换.用户使用左右滑动方式进行前进和后退,播放类似于FlipView的切换动画 ...

  7. Vue路由实现之通过URL中的hash(#号)来实现不同页面之间的切换(图表展示、案例分析、附源码详解)

    前言 本篇随笔主要写了Vue框架中路由的基本概念.路由对象属性.vue-router插件的基本使用效果展示.案例分析.原理图解.附源码地址获取. 作为自己对Vue路由进行页面跳转效果知识的总结与笔记. ...

  8. Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发

    原文 Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发 前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode 进行iOS基本控 ...

  9. (转)iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    原文:http://blog.csdn.net/totogo2010/article/details/8048652 iOS应用程序生命周期(前后台切换,应用的各种状态)详解         分类:  ...

随机推荐

  1. Delphi XE7中新并行库

    Delphi XE7中添加了新的并行库,和.NET的Task和Parellel相似度99%. 详细内容能够看以下的文章: http://www.delphifeeds.com/go/s/119574 ...

  2. 同一TextView上内容的不同显示

    首先请原谅我不会给文章起名字. . .不能准确的表达出究竟要讲什么,真实智商捉急. 直接上图 如图所看到的显示的是两个textview 第一个实现的是,在同一个textview中给不同内容赋予不同的颜 ...

  3. linux 自旋锁

    一.概述: 自旋锁是SMP架构中的一种low-level的同步机制.当线程A想要获取一把自旋锁而该锁又被其它线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了.对于自选锁需要注意: 由于自 ...

  4. 虎扯:纯css3各方向小三角的制作原理分析

    入驻博客园两个月之后的第一篇随笔,希望能够做到三个原则: One:不浪费自己的时间, Tow:不浪费读者的时间, 第三就是希望有缘的朋友们多多指教,共度前端快乐的大坑!!! 咱们今天来做一个居家旅行必 ...

  5. 转发年浩大神的spfa算法

    http://www.cnblogs.com/superxuezhazha/p/5426624.html #include<iostream> #include<stdio.h> ...

  6. apk混淆打包注意事项

    混淆打包搞了好几天才初步了解,其中碰到很多Debug正常,Release的apk不能用,基本都是第三方的jar的问题,所以要排除混淆. 1. Json解析对象出错 用到fastJson或者GJson的 ...

  7. MATLAB中为控件(uicontrol)绑定Callback函数(回调函数)

    笔者走了许多弯路,终于找到这个方法,分享给大家. 'callback',@(~,~)colormapeditor(h) 如果版本老不支持“~”这种写法,那就改成: 'callback',@(x,y)c ...

  8. php用百度地图API进行IP定位和GPS定位

    <?php /** * 根据地理坐标获取国家.省份.城市,及周边数据类(利用百度Geocoding API实现) * 百度密钥获取方法:http://lbsyun.baidu.com/apico ...

  9. ubuntu 源码安装 swig

    1. 下载 swig 源码 http://www.swig.org/survey.html 填写一个简单的问卷,即可进入 sourceforge 下载. 2. 安装 g++ sudo apt-get ...

  10. Android webViewj简单处理apk的下载链接

    最近在开发二维码扫一扫的功能,需要分多种情况处理外部的url.遇到一个问题是,一些程序包(比如一些android应用)的下载不好处理.如果不做任何处理的话,webView会打开一个空白页.比如这个链接 ...