2012-08-22 178 views
0

我正在開發一個iOS應用程序,有數據作爲字符串我從服務器使用RestKit檢索。數據檢索成功,我可以使用NSlog打印它。所以我想在下面的tableviewcell中查看這些數據。填充自定義tableviewcell Xcode

enter image description here

所以如何實現tableviewcell通過,我使用RestKit從服務器檢索設備,描述和日期的列表來填充。

在此先感謝。

+0

第一個問題,你如何實現該TableView?使用Nib文件?故事情節?只通過代碼?首先回答這個問題,將有助於告訴你下一步你需要做什麼。 –

回答

0

這很容易,但需要一點時間。您需要將後端數據放入數組(或類似的東西)中 - 在擴展UITableViewController的類中,然後將UILabels作爲插座連接起來,並且在函數中,您可以將數據分配給特定索引處的單元格。

cell.deviceDescription.text = [myDataArray objectAtIndex:[indexPath row];

0

您設置單元格的高度

tableView.rowHeight=height_you_want; 
     or 
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return your_row_height; 
} 

的cellForRowAtIndexPath:您可以創建了三個的UILabel,修改(背景文本字體顏色大小等),並將它們作爲子視圖添加到細胞或cell.contentView

UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)];  
[email protected]"Your text"; 
lbl.backgroundColor=[UIColor clearColor];  
[cell addSubview:lbl]; 

//use this accessory type  
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; 
+0

我已經使用接口生成器XIB創建了單元,但是我想從NSMutableArray中讀取並填充單元格。 – fadd

+0

你的意思是你使用接口生成器xib創建了一個單元。你的問題是如何以編程方式從nsmutablearray填充標籤? – Neo

+0

是的,這就是我想要的。 – fadd

0

用xib創建您的自定義單元格。

@interface YourCustomCell : UITableViewCell 
@property(nonatomic, strong) IBOutlet UILabel* deviceNameLbl; 
@property(nonatomic, strong) IBOutlet UILabel* desciptionLbl; 
@property(nonatomic, strong) IBOutlet UILabel* dateLbl; 
@end 

@implementation 
@synthesize deviceNameLbl ,....... 
...... 

enter image description here 然後在您的視圖控制器要顯示該單元格。

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath { 
    static NSString* cellIdentifier = @"YourCustomCell"; 
    YourCustomCell *cell = (YourCustomCell*)[tableView dequeueReusableCellWithIdentifier:cellType]; 
    if (cell == nil) { 
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:cellIdentifier owner:nil options:nil]; 
    cell = (YourCustomCell*)[nib objectAtIndex:0]; 
     } 

    //yourDataArray is a array contains NSDictionary 
    cell.deviceNameLbl = [[yourDataArray objectAtIndex:indexPath.row][email protected]"deviceName"]; 
    cell.desciptionLbl = [[yourDataArray objectAtIndex:indexPath.row][email protected]"description"]; 
    cell.dateLbl = [[yourDataArray objectAtIndex:indexPath.row][email protected]"date"]; 

    return cell; 
} 
+0

如果您已經在使用Interface Builder構建tableview,則無需使用單獨的nib文件創建單元格。只需創建UITableViewCell子類並將UITableView Cell的父類設置爲該類。 –

0
  1. 您需要通過數據陣列中創建自定義UITableViewCell
  2. 循環您UITableViewController
  3. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath必須分配/初始化類

但作爲@FaddishWorm說的它會需要一些時間