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

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

1、通常過程ui

複製代碼

//
// YYViewController.h
// UITableView Controller
//
// Created by 孔醫己 on 14-6-2.
// Copyright (c) 2014年 itcast. All rights reserved.
//atom

#import <UIKit/UIKit.h>spa

@interface YYViewController : UIViewController代理

@endcode

 
 
複製代碼

系統storyboard中默認的控制器爲:ViewControllerblog

這樣的話若是整個程序界面都只是使用UITableView來搭建,那麼通常須要完成如下相對繁瑣的步驟:繼承

(1)向界面上拖一個UItableview開發

(2)設置數據源animation

(3)設置代理

(4)遵照代理協議

 上述過程相對繁瑣,且還須要手動的設置數據源,代理,遵照協議等,容易遺漏,下面推薦直接使用UITableView Controller。
 
2、使用UITableView Controller
  爲了簡化操做,推出下面的方法。
  即若是在界面上僅僅只是須要用來展現一個UITableView,那麼能夠讓主控制器直接繼承於UITableView Controller
複製代碼

//
// YYViewController.h
// UITableView Controller
//
// Created by 孔醫己 on 14-6-2.
// Copyright (c) 2014年 itcast. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface YYViewController : UITableViewController

@end

 
  
複製代碼
 
 直接讓控制器繼承UITableView controller,而後在storyboard中把之前的界面刪掉,拖一個tableview controller就能夠了。
 
注意:須要和主控制器類進行關聯。
UITableView Controller裏面有個tableview屬性,在控制器中經過self.view獲取出來的視圖就是一個tableview。
即self.view=self.taleview。
且它默認已經把他的協議和數據源都已經實現好了,再也不須要進行連線。
複製代碼

// UITableViewController.h
// UIKit
//
// Copyright (c) 2008-2013, Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIViewController.h>
#import <UIKit/UITableView.h>
#import <UIKit/UIKitDefines.h>

// Creates a table view with the correct dimensions and autoresizing, setting the datasource and delegate to self.
// 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.
// In -viewDidAppear:, it flashes the table's scroll indicators.
// Implements -setEditing:animated: to toggle the editing state of the table.

NS_CLASS_AVAILABLE_IOS(2_0) @interface UITableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

- (id)initWithStyle:(UITableViewStyle)style;

@property(nonatomic,retain) UITableView *tableView;
@property(nonatomic) BOOL clearsSelectionOnViewWillAppear NS_AVAILABLE_IOS(3_2); // defaults to YES. If YES, any selection is cleared in viewWillAppear:

@property (nonatomic,retain) UIRefreshControl *refreshControl NS_AVAILABLE_IOS(6_0);

@end

 
  
複製代碼
點擊右鍵,能夠發現數據源和代理都已經連好了。
 
(應該把繼承自uiviewcontroller的控制器幹掉,從新拖一個tableview controller,和主控制器進行連線。)
相關文章
相關標籤/搜索