2011-06-01 53 views
4

我如何在UITableView中顯示集合的行數?如何在UITableView中顯示一定數量的行?

即即使我的數據源只有4個對象,然後我希望表格顯示在這4行沒有任何空白行。有任何想法嗎?

謝謝!

編輯:我不太清楚的問題,以便..

所以這是我的表:http://i.stack.imgur.com/glkWZ.png .. 我想只顯示3行,而不是它下面的空行。行數根據我的數據源而改變。 任何想法如何去做呢?

回答

3

我想你必須改變你的表格外觀。一旦你正確設置numberOfSectionsInTableView:tableView:numberOfRowsInSection:方法,你應該改變你的viewDidLoad方法加入這一行:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

這樣,您將刪除表中的所有行。

如果你仍然想在行之間出現一條線,我建議你創建一個自定義UITableViewCell,或者建立一個標準添加一個子視圖來模仿這條線。例如。像這樣:

CGRect lineFrame = CGRectMake(0,cell.frame.size.height-1,cell.frame.size.width,1); 
UIView *line = [[UIView alloc] initWithFrame:lineFrame]; 
line.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1]; 
[cell.contentView addSubview:line]; 
[line release]; 

讓我知道這是否有幫助。

+0

但是,這段代碼只是刪除分隔線?我如何擺脫空白表格視圖單元格? – Sohan 2011-06-01 08:41:51

+0

你已經有一張空桌子了!問題是您爲表格定義了灰色背景,因此所有內容都顯示爲灰色。我認爲你應該做一些不同的事情:使用清晰的顏色或白色作爲表格背景,併爲每個單元格設置一個灰色背景。我猜想這會奏效。 – marzapower 2011-06-01 08:46:07

+0

啊,我現在明白你在說什麼了。 基本上它是一種解決方法,您可以刪除行分隔符,並使視圖背景的顏色與表格視圖的顏色相同,以使其看起來不存在任何行。 謝謝! – Sohan 2011-06-01 09:00:53

-1

試試這個

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
    return 4 
    } 

也實現了填充的tableview需要委託方法其餘..

希望它可以幫助你.......

+0

對不起,但我不是很清楚我的查詢。所以這是我的表格:http://i.imgur.com/glkWZ.png .. 我想只顯示3行而不是它下面的空白行。 任何想法如何去做呢? – Sohan 2011-06-01 08:23:16

+0

改變你的行的高度,以便只有三行可見 – 2011-06-01 08:58:39

3

檢查的UITableView數據源protocol ,您必須執行兩種相關方法:

– numberOfSectionsInTableView: 
– tableView:numberOfRowsInSection: 

第一個應該返回1,第二個4.

+0

簡單明瞭+1 – 2011-06-01 07:48:15

+2

對不起,但我不是很清楚我的查詢。所以這是我的表格:http://i.imgur.com/glkWZ.png .. 我想只顯示3行而不是它下面的空白行。 任何想法如何去做呢? – Sohan 2011-06-01 08:21:00

1

我沒有真正理解你的意思是「在沒有任何空白行的情況下顯示這4行」,但我想你所要求的僅僅是一個簡單的數據檢索過程。我想數據源是NSarray。

-numberOfRowsInSection:(NSInteger)section{ 
    return [MyArray count]; 
} 

-cellForRowAtIndexPath(NSIndexPath*)indexPath{ 
     NSInteger row=indexPath.row; 
    cell.textLabel.Text=[MyArray objectAtIndex:row] 
    return cell; 
} 

我假設你知道應該在這些空白處放置什麼。我只寫了主要觀點。

+0

你的大括號是錯誤的,但是數據源+1。 – 2011-06-01 07:47:31

+0

我很抱歉,但我不是很清楚我的查詢。所以這是我的表格:http://i.imgur.com/glkWZ.png .. 我想只顯示3行而不是它下面的空白行。 任何想法如何去做呢? – Sohan 2011-06-01 08:22:07

+0

@ Praveen S我知道我沒有在 - 符號後提供方法的全名。我只想記下哪種方法。 – 2011-06-01 08:33:01

-2

您可以使用此

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
    { 
    return 4 
    } 

或者你這也 檢查的UITableView數據源協議,有兩個相關的方法,你必須實現:

- numberOfSectionsInTableView:
- 的tableView :numberOfRowsInSection:

第一個應該返回1,第二個4

或者您也可以通過更改表格樣式gourpby表使用 GroupBy表視圖。使用

1

如果要在tableview中保留一定數量的行並且不顯示額外的空白行,可以在viewdidload函數中插入一個空的頁腳視圖。

self.tableview.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

+0

這是正確的答案 – gadu 2015-09-02 02:16:20