2012-07-29 139 views
-1

到點,我有自定義單元格,裏面有2個標籤和1個文本框。標籤和文本字段都有來自用戶的輸入。我也有其他觀點,它裏面有可用的視圖。我的問題是我如何在uitableview中填充單元格?請幫忙。如何使用單元填充tableview?

這是我在tableviewcontroller裏面的代碼。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 1; // i want to populate this using 'count' but i dont know how. 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:[CustomCell reuseIdentifier]]; 
    if (cell == nil) 
    { 
     [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     cell = _customCell; 
     _customCell = nil; 
    }  
    cell.titleLabel.text = [NSString stringWithFormat:@"%@",titleTextString]; 
    cell.timerLabel.text = [NSString stringWithFormat:@"%@",timerString]; 
    cell.statusLabel.text = [NSString stringWithFormat:@"%@",statusString]; 

    return cell;  
} 

如何在用戶輸入完成後按下添加按鈕來填充我的tableview?請如果你不介意幫助我的代碼。我是初學者,很難用意見來理解。

回答

1

如果我理解正確你的問題,你做你的細胞中有2 UILabel和一個UITextField自定義筆尖文件,並且要填充表格的時候訪問這些對象。以下是此問題的一些步驟:

首先,您必須爲自定義單元格中的每個對象提供tag號碼。您可以在Interface Builder的屬性檢查器中找到該屬性。假設你給了第一個標籤標籤1,第二個標籤2和文本字段3.

第二你必須給一個。此筆尖文件的標識符,例如MyCustomCellIdentifier。此標識符稍後將在具有表格的視圖中使用,以便您可以鏈接到該表格。第三,同樣在自定義單元格筆尖中,單擊文件所有者的黃色方塊,然後在Identity Inspector中將Class更改爲具有將使用此自定義單元格的表格的類名稱。

第四,在您使用自定義單元格的表中,創建類型爲UITableViewCell的插座。我們將鏈接在自定義筆尖單元格中。第五步,轉到自定義筆尖單元格,單擊單元格窗口,然後在Connections Inspector鏈接新引用出口到文件的所有者,您將看到您在表格類中創建的出口在這裏顯示,只需鏈接到它。

現在由於連接建立的東西更容易,在cellForRowAtIndexPath功能(在包含該表肯定類),你必須從筆尖文件加載自定義單元格如下:

static NSString *tableIdentifier = @"MyCustomCellIdentifier"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableIdentifier]; 
if(cell == nil) 
{ 
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TheNibClassNameOfYourCustomCell" owner:self options:nil]; 
    if([nib count] > 0) cell = theNameOfTheOutletYouUsed; 
    else NSLog(@"Failed to load from nib file."); 
} 

好吧,您的自定義單元被裝載在可變cell,現在你必須從你創建的標記訪問它的每一個對象:

UILabel *label1 = (UILabel *)[cell viewWithTag:1]; 
UILabel *label2 = (UILabel *)[cell viewWithTag:2]; 
UITextField *textField1 = (UITextField *)[cell viewWithTag:3]; 

現在,您可以通過訪問label1一切,label2textField1很容易就像label1.text = @"Hi";

我希望這可以回答你的問題。

+0

謝謝你的回答,但是我應該在numberOfRowsInSection裏寫什麼?我的意思是,我如何填充我的單元格在tableview中,如果我按「添加」按鈕。 – SyntaxError 2012-07-29 10:33:39

+0

通常情況下,您將擁有一個'NSMutableArray',您將在其中推送所有新數據,因此每次單擊添加按鈕時,都會在該數組中添加新數據。因此,你可以在'numberOfRowsInSection'中使用數組的大小,這種情況下''yourArray count];'還請記住,如果你的行數據是混合的東西,你可以使用'NSMutableDictionary'來代替。 – antf 2012-07-29 10:42:37

+0

呃...即時通訊抱歉,我應該寫在cellForRowAtIndexPath內?我把我的數組放在numberOfRowsInSection中,使用return [array count];但是我應該在cellForRowAtIndexPath裏面添加什麼?謝謝。 – SyntaxError 2012-07-29 11:41:34