1

我正在尝试创建一个包含缩略图列表的应用程序,一旦触摸该列表,就会创建一个新的视图控制器,其中包含一个大的 UIImageView,它显示来自缩略图视图控制器的选定图像。但是,在“ SmallpicsViewController”中,我有以下代码,但是,选择图像时,什么也不会发生。我试图实例化的新视图控制器称为“BigPicsViewController”,它包含一个 IBOutlet 到一个名为 bigPic 的 UIIMageView。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

UITouch *touch = [touches anyObject];
if([[touch valueForKey:@"view"]isKindOfClass:[UIImageView class]]){

    UIImageView *viewSelected = (UIImageView *)[touch valueForKey:@"view"];

    BigPicsViewController *bigController = [[BigPicsViewController alloc]initWithNibName:@"BigPicsViewController" bundle:nil];

    bigController.bigPic = viewSelected;

    }
}
4

1 回答 1

0

三个可能的原因:

1)touchesBegan根本没有调用该方法,很可能是因为默认设置UIImageViewuserInteractionEnabledNO,这意味着它不会注册触摸。

2) 方法被调用,但是,再次,因为设置UIImageViewuserInteractionEnabledNO,图像视图下面的视图注册它,所以 if 语句为假。

3)正如 gschandler 所说,您似乎没有对视图控制器做任何事情,使其视图出现在层次结构中。

使用断点或日志语句来确定它是什么。

于 2012-12-12T20:36:17.650 回答