GRSBandDetailViewController

GRSBandDetailViewController

我有一个表格视图,当选择一行时,它将带您到详细信息页面。详细信息页面上有图像视图。当尝试选择行时,我试图从表视图中为图像视图设置图像,但是当选择行并且出现详细视图时,除了白页外什么都没有。

像这样:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    GRSBandDetailViewController *detail = [[GRSBandDetailViewController alloc]initWithNibName:@"GRSBandDetailViewController" bundle:nil];

    if (indexPath.row == 0)
    {
        [detail.bandImage setImage:[UIImage imageNamed:@"AbovetheUnderground.png"]];
        [self.navigationController pushViewController:detail animated:YES];
    }

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}


这是GRSBandDetailViewController的.h文件:

@interface GRSBandDetailViewController : UIViewController
{
    IBOutlet UIImageView *bandImage;
}

@property (nonatomic, strong) UIImageView *bandImage;

@end

最佳答案

发生这种情况是因为在第一次调用-[UIViewController view]的过程中,视图是延迟加载的。因此,当您尝试设置图像时,detail.bandImage为零。

UIImage初始化程序中或通过属性提供GRSBandDetailViewController。然后将bandImage.image设置为viewDidLoad中此属性的值。

10-08 05:44