2012-12-12 36 views
1

我試圖創建一個包含一度觸及創建一個大的UIImageView從縮略圖視圖控制器顯示所選圖像的新視圖控制器縮略圖列表的應用程序。在「SmallPicsViewController」中,我有下面的代碼,但是,選擇圖像時沒有任何反應。我試圖實例化的新視圖控制器被稱爲「BigPicsViewController」,它包含一個名爲bigPic的UIIMageView的IBOutlet。實例化的UIViewController使用UITapGestureRecognizer上的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; 

    } 
} 
+0

你是什麼意思「什麼都沒有發生」?隨着代碼出現在上面,你不會對新的視圖控制器做任何事情。你需要把它推到一個'UINavigationController'堆棧上,或者從當前的視圖控制器(我稱之爲「因爲我不知道你的應用UI流設置如何」作爲模態視圖呈現)。 – gschandler

回答

0

三種可能的原因:

1)touchesBegan方法完全不叫,很可能是因爲UIImageViewuserInteractionEnabled設置爲默認情況下沒有,這意味着它不會註冊觸摸。

2)該方法被調用,但是,同樣,因爲UIImageView已將userInteractionEnabled設置爲NO,圖像視圖下方的視圖會對其進行註冊,因此if語句爲false。

3)gschandler說,你好像沒有做的視圖控制器任何可能使其視圖顯示在層次。

使用斷點或日誌報表弄清楚它是。

相關問題