2013-12-14 69 views
0

因此,我正在按照本教程使用界面構建器創建自定義UITableCellView。我創建了一個帶有UITableViewCell的xib文件,該文件有一個自定義UITableViewCell作爲其類。在說I類有 -自定義視圖不更新

@interface SearchResultCell : UITableViewCell 
@property(strong,nonatomic)IBOutlet UIImageView *restaurantImage; 
@property(strong,nonatomic)IBOutlet UILabel *restaurantName; 
@end 

在自定義UITableViewCell Interface Builder的文件,在連接菜單我拖着restaurantImage在定製UITableViewCellUIImageView,標籤到restaurantName

然後在我的表得出的地方,我做到這一點 -

-(UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    SearchResultCell *cell = [self.resultTable dequeueReusableCellWithIdentifier:CellTableIdentifier]; 
    NSDictionary *rowData = self.resultsTuples[indexPath.row]; 
    NSString* restaurantTitle = rowData[@"$element"][@"Title"]; 
    cell.restaurantName.text = restaurantTitle; 
    return cell; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UINib *nib = [UINib nibWithNibName:@"SearchResultCell" 
           bundle:nil]; 
    [self.resultTable registerNib:nib forCellReuseIdentifier:CellTableIdentifier]; 
    // Do any additional setup after loading the view. 
} 

cell.restaurantName.text = restaurantTitle不會導致任何東西。但是,做cell.textLabel.text = restaurantTitle確實有效。

爲什麼我的標籤沒有更新?

+1

您的類似乎稱爲「TooviaSearchResultCell」,但您引用了另一個類SearchResultCell in你的方法。 – nhgrif

+1

IB中單元格的樣式是否設置爲「Custom」? – rdelmar

+0

對不起 - 複製並粘貼錯誤 - 是的,樣式設置爲自定義 – praks5432

回答

0

細胞可能不是正確的高度,以顯示您的自定義標籤。由於您在xib中使單元格245高,因此您應該實現tableView:heightForRowAtIndexPath:並返回245.

0
  1. 你這樣做?

    @synthesize restaurantImage; 
    @synthesize restaurantName; 
    
  2. 之後,在你的代碼:

    restaurantName = [[UILabel alloc]initWithFrame:yourRestaurantNameFrame]; 
    //other attribute 
    [self.contentView addSubview:restaurantName]; 
    
相關問題