和我一起來學iOS(四)UIView及其子類(下)UITableView

來源:互聯網
上載者:User
UITableView

 上節講了一下UIView,這節接著講它的重要子類,UITableView和UITableViewCell

UITableView是UIScrollView的子類,因此使用者可以滾動UITableViewCell(UIView的子 類)組成的列表。

UITableView 與 UIScrollView 有很多共同點。對於非資料列表的深度自訂的視圖,你可以 使用 UIScrollView 並在裡面布置 UIView 或 UIControl 的子類,不過這種情況下使用 UITableView 更有優勢。首先,如果可能的話,推薦使用更進階的抽象。其次,UITableView 會自 動實現一些微妙的功能。其中一個是能輕鬆出列並重用 UITableViewCell單元,這樣可以改善效能 並減少記憶體佔用。另一個是通過資料來源和接收到的委託方法反饋來填充內容 

UITableViewController

UITableViewController 是 UIViewController 的子類,它能實現一些與表視圖載入有關的額外功能。如果你正在通過一個 nib 檔初始化 UITableViewController,nib 載入機制會從 nib 文 件載入歸檔的表視圖。如果不是的話,則它會建立一個未配置的表視圖。這兩種情況下你都可以使用 UITableViewController 類的 tableView 屬性來訪問表視圖。

通常來說,一個UITableView需要通過UITableViewController來指定它的樣式。 當一個UITableViewController初始化的時候會建立UITableView的執行個體然後賦給自身的View屬性,同時這個UITableView的兩個屬性dataSource和delegate都會指向UITableViewController。

@interface ItemsViewController : UITableViewController

 

#import "ItemsViewController.h"@implementation ItemsViewController- (id)init{    self = [super initWithStyle:UITableViewStyleGrouped];    if (self) {    }    return self;}

調用就如同上節所說的把它設為window的rootViewControlle

#import "ItemsViewController.h"@implementation HomepwnerAppDelegate- (BOOL)application:(UIApplication *)application    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    ItemsViewController *itemsViewController = [[ItemsViewController alloc] init];

    [[self window] setRootViewController:itemsViewController];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

 

 

就是一個空的UITableView,由UITableViewController建立

相關文章

聯繫我們

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