UI2_视图切换

//
//  ViewController.m
//  UI2_视图切换
//
//  Created by zhangxueming on 15/7/1.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
{
    NSInteger _tagIndex;//记录当前显示的视图
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UILabel *redLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 320, 100)];
    redLabel.backgroundColor = [UIColor redColor];
    redLabel.tag = 1;
    redLabel.text = @"红色";
    redLabel.textAlignment = NSTextAlignmentCenter  ;
    [self.view addSubview:redLabel];

    UILabel *blueLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 120, 320, 100)];
    blueLabel.backgroundColor = [UIColor blueColor];
    blueLabel.tag = 2;
    blueLabel.text = @"蓝色";
    blueLabel.textAlignment = NSTextAlignmentCenter  ;
    [self.view addSubview:blueLabel];

    UILabel *greenLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 140, 320, 100)];
    greenLabel.backgroundColor = [UIColor greenColor];
    greenLabel.tag = 3;
    greenLabel.text = @"绿色";
    greenLabel.textAlignment = NSTextAlignmentCenter  ;
    [self.view addSubview:greenLabel];

    UIButton *lastBtn = [UIButton buttonWithType:UIButtonTypeSystem];
    lastBtn.frame = CGRectMake(40, 400, 100, 30);
    [lastBtn setTitle:@"上一张" forState:UIControlStateNormal];
    lastBtn.backgroundColor = [UIColor cyanColor];
    [lastBtn addTarget:self action:@selector(lastBtnClicked) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:lastBtn];

    UIButton *nextBtn = [UIButton buttonWithType:UIButtonTypeSystem];
    nextBtn.frame = CGRectMake(self.view.frame.size.width-140, 400, 100, 30);
    [nextBtn setTitle:@"下一张" forState:UIControlStateNormal];
    nextBtn.backgroundColor = [UIColor cyanColor];
    [nextBtn addTarget:self action:@selector(nextBtnClicked) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:nextBtn];

    //设置当前显示的视图
    _tagIndex = 3;

    self.view.backgroundColor = [UIColor blackColor];
}

- (void)lastBtnClicked
{
    _tagIndex--;
    if (_tagIndex<1) {
        _tagIndex = 3;
    }
    //根据传入的tag值取出对应的视图
    UILabel *label = (UILabel *)[self.view viewWithTag:_tagIndex];
    [self.view bringSubviewToFront:label];
}

- (void)nextBtnClicked
{
    _tagIndex++;
    if (_tagIndex>3) {
        _tagIndex = 1;
    }
    UILabel *label = (UILabel *)[self.view viewWithTag:_tagIndex];
    [self.view bringSubviewToFront:label];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
时间: 2024-10-11 04:56:41

UI2_视图切换的相关文章

UI2_视图切换ViewController

// // SubViewController.h // UI2_视图切换 // // Created by zhangxueming on 15/7/3. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <UIKit/UIKit.h> @interface SubViewController : UIViewController @end // // SubViewController.m // UI2

UIView 视图切换

UIView之间常用视图之间切换方式 转载自:http://www.jianshu.com/p/0d53f9402c07 在平时编写代码的过程中,页面之间的跳转可以说就和MVC模式一样是开发必须的.但是可能我们知道一种或者几种页面之间的跳转,今天我就来总结一下我在开发之中遇到的所有的页面跳转代码.(关于控制器之间的简单的跳转,比如导航控制器跳转.故事版跳转.简单的模态跳转不在这里多说) 一.代理跳转. 通常我们在跳转中经常是通过你点击了某个事件或者某个操作使你进行控制器之间的跳转.那么我们可以在

无NavigationBar到有NavigationBar视图切换时的一个坑

NavigationController在iOS App中是最常见不过了,可以说是每个App中必备的了.自iOS7开始,系统自带的右滑返回效果,也可以让有NavigationBar的视图切换很丝 滑流畅.当然你也可能会遇到有些视图并没有NavigationBar(实际上是隐藏了),然后从这样的视图中push一个有NavigationBar 的视图,这种需求很常见(姑且不讨论这种设计到底合不合适),实现起来也很简单,就是在不同的视图里对NavigationBar设置隐藏和显示就可以 了,代码如下:

iOS项目开发实战——实现视图切换动画

不同界面或者说不同视图之间进行切换是应用程序的一种最常见的动态效果,无论是哪一种平台的项目开发,默认的视图切换往往是十分单调的,没有任何动画的,界面的切换也是非常的突兀.如果说使用动画效果使界面能够活跃起来,那么你的App将会非常动感.这里将实现视图切换过程中的动画效果.具体实现如下: (1)本次试验将拖入2张图片,不直接放到View Controller中,而是在代码中动态加载.拖到Main.storyboard中后目录结构如下: . (2)实现图片与代码Outlet绑定: @IBOutlet

iOS:视图切换的第一种方式:模态视图

一.UIModalController:模态窗口(一个控制器模态出另一个控制器的模态窗口) 当我们在view controller A中模态显示view controller B的时候,A就充当presenting view controller(弹出VC),而B就是presented view controller(被弹出VC).官方文档建议这两者之间通过delegate实现交互,在被弹出的VC中定义delegate,然后在弹出VC中实现该代理,这样就可以比较方便的实现两者之间的交互. 1.以

ios 开发日记 13-剖析网易新闻标签栏视图切换(addChildViewController属性介绍)

iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍) 时间 2014-06-25 21:45:21  CSDN博客 原文  http://blog.csdn.net/hmt20130412/article/details/34523235 主题 网易iOS开发 本来只是打算介绍一下addChildViewController这个方法的,正好今天朋友去换工作面试问到网易新闻标签栏效果的实现,就结合它,用个小Demo实例介绍一下:(具体解释都写在了Demo里

iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能

storyboard是一个很强大的编写代码的辅助工具,可以帮助布局多个视图之间的联系,既直观又能减少代码量:但是,作为一个程序员,在不使用storyboard的情况下,纯代码编写是必须的技能. 下面就用纯代码实现纯代码实现UITabBarController的视图切换功能,咱就实现三个视图之间的转换吧,代码不多,容易看的明白. 步骤: 1.删除storyboard故事板和UIViewController 2.创建三个控制器类,均继承自UIViewController,分别为FirstViewCo

iOS三种视图切换的原理各不相同

UITabBarController:以平行的方式管理视图,各个视图之间往往关系并不大,每个加入到UITabBarController的视图都会进行初始化即使当前不显示在界面上,相对比较占用内存. UINavigationController:以栈的方式管理视图,各个视图的切换就是压栈和出栈操作,出栈后的视图会立即销毁. UIModalController:以模态窗口的形式管理视图,当前视图关闭前其他视图上的内容无法操作. UITabBarController是Apple专门为了利用页签切换视图

iOS开发系列--视图切换

概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController UINavigationController 模态窗口 UITabBarController iOS三种视图切换的原理各不相同: UITabBarController:以平行的方式管理视图,各个视图之间往往关系并不大,每个加入到UITabBarController的视图都会进行初始化即使当前不显示在