2013-03-27 52 views
0

這是問題:我有一個表格視圖,自定義單元格和詳細視圖。我的表中有10行,當用戶選擇其中一行時,詳細視圖打開。如何從我的表視圖的選定行設置詳細視圖導航欄的標題?我有三個類 - televisionList(我的tableview),televisionCell(我的表格視圖中的單元格)和televisionDetail(當選中某行時打開的我的詳細視圖)。在我televisionCell我已經宣佈了以下標籤:如何從Xcode中的表格選擇行更改子視圖的標題?

@property (weak, nonatomic) IBOutlet UILabel *tvLabel; 

在我televisionList(的實現代碼如下)我有這樣的方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    televisionCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) 
    { 
     NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"televisionCell" owner:self options:nil]; 
     for (id currentObject in objects) 
     { 
      if ([currentObject isKindOfClass:[UITableViewCell class]]) 
      { 
       cell = (televisionCell *)currentObject; 
       break; 
      } 
     } 

    } 
switch (indexPath.row) 
    { 
     case 0: 
     { 
      cell.imageView.image = bnt; 
      cell.tvLabel.text = @"БНТ 1"; 
      cell.backgroundView.image = [UIImage imageNamed:@"lightbackgr.png"]; 
      break; 
     } 

     case 1: 
     { 
      cell.imageView.image = btv; 
      cell.tvLabel.text = @"bTV"; 
      cell.backgroundView.image = [UIImage imageNamed:@"background-cell.png"]; 
      break; 
     } 
     case 2: 
     { 
      cell.imageView.image = novatv; 
      cell.tvLabel.text = @"Нова TV"; 
      cell.backgroundView.image = [UIImage imageNamed:@"lightbackgr.png"]; 
      break; 
     } 
} 

現在,我想改變我的詳細視圖標題是等於cell.tvLabel.text當一行被選中時。在哪裏以及如何做到這一點?提前致謝!

回答

1

當你寫的,你要設置的標題,在小區選擇,所以最好的辦法,是使用方法:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    televisionCell *cell=[tableView cellForRowAtIndexPath:indexPath]; 
    details.title=cell.tvLabel.text;  
} 

但是,你可以考慮引進的模型對象的在示例應用程序,並讓他們在某些陣列(objects below`所以該方法看起來像:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    YourObject* obj=[self.objects objectAtIndex:indexPath.row]; 
    details.title=obj.stationName; 

} 
+0

非常感謝你,是解決我的問題。 – scourGINHO 2013-03-27 14:00:51