zoukankan      html  css  js  c++  java
  • 笨鸟学iOS开发(3)view制作及切换

    • 目的

    学习view制作及切换的几种方式



    • 环境

    Mac OS X 10.7.2

    Xcode4.2


    • 详解
      • 在storyboard中创建另一个ViewController并使用Segue切换

    在storyboard中再增加一个ViewController。在两个ViewController中各增加一个按钮。右击按钮,在弹出菜单中拖放“Modal”圈圈到另一个ViewController上放手即可。


      • 在xib文件中创建另一个ViewController并使用代码手动切换

    在工程中添加文件,选择创建“UIViewController subclass”,在向导中勾选“With XIB for user interface”,取名为“SecondViewController”,完成后得到3个文件:"SecondViewController.h"、"SecondViewController.m“、"SecondViewController.xib”。

    在xib中添加一个按钮,并为其添加事件处理函数,在函数中增加如下代码以用于退出当前的view回到首页:

    - (IBAction)exitCurrentView:(id)sender {
        [self.view removeFromSuperview];
    }

    在首页的ViewController.h中添加此xib对应的变量,如下所示:

    @interface ViewController : UIViewController
    {
        SecondViewController* secondViewController;
    }
    


    背后的切换按钮事件函数代码为:

    - (IBAction)switchToSecondView:(id)sender {
        secondViewController=[[SecondViewController new]
                              initWithNibName:@"SecondViewController"
                              bundle:nil];
        [self.view addSubview:secondViewController.view];
    }


      • 在代码中手动创建View并使用代码手动切换

    - (IBAction)switchToThirdView:(id)sender {
        //先创建view
        thirdView=[[UIView alloc]
                   initWithFrame:self.view.bounds];
        thirdView.backgroundColor=[UIColor greenColor];
        
        //为view增加控件
        UIButton* button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame=CGRectMake(100, 100, 100, 100);
        [button setTitle:@"回首页"
                forState:UIControlStateNormal];
        [button addTarget:self
                   action:@selector(exitThirdView:)
         forControlEvents:UIControlEventTouchUpInside];
        [thirdView addSubview:button];
        
        //将view显示出来
        //加入动画吧
        [UIView beginAnimations:@"flipping view"
                        context:nil];
        [UIView setAnimationDuration:1];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
                               forView:self.view
                                 cache:NO];
        [self.view addSubview:thirdView];
        [UIView commitAnimations];
    }
    
    - (void)exitThirdView:(id)sender
    {
        //也加入动画效果
        [UIView beginAnimations:@"flipping view"
                        context:nil];
        [UIView setAnimationDuration:1];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
                               forView:self.view
                                 cache:NO];
        [thirdView removeFromSuperview];
        [UIView commitAnimations];
    }



    • 预览




  • 相关阅读:
    libuv::线程
    libuv::定时器
    libuv::线程池
    libuv::线程同步
    ABAQUS 2017 安装后无法运行问题
    Abaqus2017安装全过程
    ModelCenter安装详解
    centos下安装Ansys 17.2的全部过程
    Jmeter压力测试分布式部署
    Centos7永久挂载iso文件
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377325.html
Copyright © 2011-2022 走看看