笨鳥學iOS開發(3)view製作及切換

來源:互聯網
上載者:User
  • 目的

學習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];}

  • 預覽

  • 線上觀看本節開發視頻

  • 原始碼下載
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.