zoukankan      html  css  js  c++  java
  • IOS 7 Study

    Problem
    You would like to allow your users to move from one view controller to the other with
    a smooth and built-in animation.


    Solution
    Use an instance of UINavigationController.

    What it's like

    If you’ve used an iPhone, iPod Touch, or iPad before, chances are that you have already
    seen a navigation controller in action. For instance, if you go to the Settings app on your
    phone and then press an option such as Wallpaper (see follow)

     1. Add UINavigationController property in app delegate implementation

    #import "AppDelegate.h"
    #import "FirstViewController.h"
    
    @interface AppDelegate ()
    
    @property (nonatomic, strong) UINavigationController *navigationController;
    
    @end
    
    @implementation AppDelegate
    
    ...

    2. Initialize our navigation controller using its initWithRootViewController: method and pass our root view controller as its parameter.

        Then we will set the navigation controller as the root view controller of our window.

    - (BOOL) application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        FirstViewController *viewController = [[FirstViewController alloc]
                                                initWithNibName:nil
                                                bundle:nil];
        self.navigationController = [[UINavigationController alloc]
                                     initWithRootViewController:viewController];
        self.window = [[UIWindow alloc]
                       initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.rootViewController = self.navigationController;
        self.window.backgroundColor = [UIColor whiteColor];
    
    [self.window makeKeyAndVisible];
    return YES; }

    3. FirstViewController implementation

    #import "FirstViewController.h"
    #import "SecondViewController.h"
    
    @interface FirstViewController ()
    
    @property (nonatomic, strong) UIButton *displaySecondViewController;
    
    @end
    
    @implementation FirstViewController
    
    - (void) performDisplaySecondViewController:(id)paramSender {
        SecondViewController *secondController = [[SecondViewController alloc]
                                                    initWithNibName:nil
                                                    bundle:NULL];
    
        [self.navigationController pushViewController:secondController animated:YES];
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.title = @"First Controller";
        self.displaySecondViewController = [UIButton buttonWithType:UIButtonTypeSystem];
        [self.displaySecondViewController
            setTitle:@"Display Second View Controller"
            forState:UIControlStateNormal];
        [self.displaySecondViewController sizeToFit];
        self.displaySecondViewController.center = self.view.center;
        [self.displaySecondViewController
            addTarget:self
            action:@selector(performDisplaySecondViewController:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:self.displaySecondViewController];
    }
    
    @end

    4. create this second view controller, without a .xib file

    #import "SecondViewController.h"
    
    @implementation SecondViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.title = @"Second Controller";
    }
    
    - (void) goBack {
        [self.navigationController popViewControllerAnimated:YES];
    }
    
    - (void) viewDidAppear:(BOOL)paramAnimated {
        [super viewDidAppear:paramAnimated];
        [self performSelector:@selector(goBack)
            withObject:nil
            afterDelay:5.0f];
    }
  • 相关阅读:
    Struts2基于XML配置方式实现对action的所有方法进行输入校验
    Lucene对index操作
    Lucene自定义同义词分词器
    Lucene自定义排序
    使用CGlib实现AOP功能
    实战才是王道:工厂模式、三层架构、反射、多数据库问题
    一图看懂mybatis执行过程
    java synchronized 关键字原理
    Centos7 Redis3.0 集群搭建备忘
    关于泛型接口的探讨
  • 原文地址:https://www.cnblogs.com/davidgu/p/3557126.html
Copyright © 2011-2022 走看看