UILabel on second View仅更新一次

时间:2011-02-15 13:19:23

标签: iphone objective-c ipad uiview uilabel

我有一个tableView,在单击一个单元格时,tableView会调整大小,第二个视图会滑入视图。第二个视图包含有关所选记录的更多信息......

非工作代码

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)
.......

2 个答案:

答案 0 :(得分:0)

 cell.clearsContextBeforeDrawing = YES; 

尝试看看它是否有效。如果没有,请提供更多详细信息,例如您在UIlable中编写文本的功能

答案 1 :(得分:0)

您已经创建了一个自定义类StudyDetailView您添加了两个标签并创建了它们的属性。我认为StudyDetailView类有问题。 上面的代码没有问题。

你能发布你的代码来找出问题吗?