2011-02-15 61 views
0

我有一個tableView,在單擊單元格時,tableView被調整大小,第二個視圖滑入視圖。第二個視圖包含所選記錄的詳細信息...UILabel第二次只查看更新一次

非工作CODE

if(frame.size.height > 600) 
{ 

    CGRect detailFrame = StudyDetailView.view.frame; 

    self.tableview.autoresizingMask = UIViewAutoresizingNone; 
    detailFrame.origin.y = (frame.size.height-200); 
    detailFrame.size.height = 200; 
    [self.view addSubview:StudyDetailView.view]; 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:.7]; 
     self.tableview.frame = CGRectMake(0,0,frame.size.width,frame.size.height-200); 
    [UIView commitAnimations]; 

    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:.2]; 
     StudyDetailView.view.frame = detailFrame; 
    [UIView commitAnimations]; 
} 

    StudyDetailView.ImageCount.text = [NSString stringWithFormat:@"%@", [[StudyListData objectAtIndex:indexPath.row] image_count]]; 
    [StudyDetailView.SeriesCount setText:[NSString stringWithFormat:@"%@", [[StudyListData objectAtIndex:indexPath.row] series_count]]]; 
    NSLog(@"This right after the view is set.. right?: %@",[NSString stringWithFormat:@"%@", [[StudyListData objectAtIndex:indexPath.row] series_count]]); 

} 

的ImageCount標籤(在第二視圖)僅在NSLog的繼續顯示更新一次,正確的值..

有什麼建議嗎?

工作代碼

CGRect frame = self.tableview.frame; 
if(StudyDetailView == nil) 
{ 
    StudyDetailView = [[StudyListDetailController alloc] initWithNibName:@"StudyListDetailController" bundle:nil]; 
    [self.view addSubview:StudyDetailView.view]; 
} 
if(frame.size.height > 600) 
....... 

回答

0
cell.clearsContextBeforeDrawing = YES; 

試試這個看看它是否工作。如果沒有,請給出更多的細節,比如在UIable中編寫文本的功能

+0

我能夠得到它排序。事實證明,我的代碼創建了一個正確的其他視圖..他們最初是在屏幕外,所以他們沒有出現.. – Critter 2011-02-15 14:46:27

0

您已經創建了一個自定義類StudyDetailView在哪裏添加了兩個標籤並創建了它們的屬性。我認爲StudyDetailView類有問題。 上述書面代碼沒有問題。

你可以發佈你的代碼來找出問題嗎?

+0

我剛剛添加上面..第二個視圖最初創建的屏幕。我的代碼每次點擊單元格時都會創建一個新視圖,它們只是無法從屏幕上看到......我在第二個視圖上添加了一個檢查以確保只有一個視圖。 – Critter 2011-02-15 14:50:08