iOS開發UI篇—直接使用UITableView Controller

來源:互聯網
上載者:User

標籤:

iOS開發UI篇—直接使用UITableView Controller

一、一般過程

 1 // 2 //  YYViewController.h 3 //  UITableView Controller 4 // 5 //  Created by 孔醫己 on 14-6-2. 6 //  Copyright (c) 2014年 itcast. All rights reserved. 7 // 8  9 #import <UIKit/UIKit.h>10 11 @interface YYViewController : UIViewController12 13 @end

系統storyboard中預設的控制器為:ViewController

這樣的話如果整個程式介面都只是使用UITableView來搭建,那麼一般需要完成以下相對繁瑣的步驟:

(1)向介面上拖一個UItableview

(2)設定資料來源

(3)設定代理

(4)遵守代理協議

 上述過程相對繁瑣,且還需要手動的設定資料來源,代理,遵守協議等,容易遺漏,下面推薦直接使用UITableView Controller。  二、使用UITableView Controller  為了簡化操作,推出下面的方法。  即如果在介面上僅僅只是需要用來展示一個UITableView,那麼可以讓主控制器直接繼承於UITableView Controller
 1 // 2 //  YYViewController.h 3 //  UITableView Controller 4 // 5 //  Created by 孔醫己 on 14-6-2. 6 //  Copyright (c) 2014年 itcast. All rights reserved. 7 // 8  9 #import <UIKit/UIKit.h>10 11 @interface YYViewController : UITableViewController12 13 @end
  直接讓控制器繼承UITableView controller,然後在storyboard中把以前的介面刪掉,拖一個tableview controller就可以了。 注意:需要和主控制器類進行關聯。UITableView Controller裡面有個tableview屬性,在控制器中通過self.view擷取出來的視圖就是一個tableview。即self.view=self.taleview。且它預設已經把他的協議和資料來源都已經實現好了,不再需要進行連線。
 1 //  UITableViewController.h 2 //  UIKit 3 // 4 //  Copyright (c) 2008-2013, Apple Inc. All rights reserved. 5 // 6 #import <Foundation/Foundation.h> 7 #import <UIKit/UIViewController.h> 8 #import <UIKit/UITableView.h> 9 #import <UIKit/UIKitDefines.h>10 11 // Creates a table view with the correct dimensions and autoresizing, setting the datasource and delegate to self.12 // In -viewWillAppear:, it reloads the table‘s data if it‘s empty. Otherwise, it deselects all rows (with or without animation) if clearsSelectionOnViewWillAppear is YES.13 // In -viewDidAppear:, it flashes the table‘s scroll indicators.14 // Implements -setEditing:animated: to toggle the editing state of the table.15 16 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>17 18 - (id)initWithStyle:(UITableViewStyle)style;19 20 @property(nonatomic,retain) UITableView *tableView;21 @property(nonatomic) BOOL clearsSelectionOnViewWillAppear NS_AVAILABLE_IOS(3_2); // defaults to YES. If YES, any selection is cleared in viewWillAppear:22 23 @property (nonatomic,retain) UIRefreshControl *refreshControl NS_AVAILABLE_IOS(6_0);24 25 @end
點擊右鍵,可以探索資料源和代理都已經連好了。 (應該把繼承自uiviewcontroller的控制器幹掉,重新拖一個tableview controller,和主控制器進行連線。)

iOS開發UI篇—直接使用UITableView Controller

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.