IOS Table View

來源:互聯網
上載者:User

一個Table View一般要設定其dataSource和delegate.
可以通過Control+drag來設定

並採用兩個協議
@interface SecondViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
UITableViewDelegate協議定義的方法中常用的有:

// Called after the user changes the selection.- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath;// Variable height support- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

UITableViewDataSource協議定義的方法中常用的有:

@required- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;// Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier:// Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

注意上面的@required -- 這兩方法是必須實現的,否則程式會出錯.

如何設定Table View分組顯示?
實現下面這個函數:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {    NSArray *keys = [[[self artists] allKeys]                      sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];    return [keys objectAtIndex:section];}

這裡的artists定義為NSDictionary *artists;
上面這個函數實現了按artists中的key來分組.

實現如下風格的table view

1 首先要設定Style 為grouped


2 實現如下函數

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
設定每個section的標題, 比如上面的UIButton, UIButtonTypeRoundedRect就是Section的標題.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
設定每個Section裡面有多少行, 中這個值為2

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
總共有多少個Section
上面這些函數要根據你實際要顯示的資料來實現.

相關文章

聯繫我們

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