2010-07-11 43 views
0

我有一个UIView(MAINVIEW), 包括50个UIImageViews的(图像1 ... 50))iPhone触摸查看和子ImageViews

(所有设置为可点击(UIView的,也UIImageViews的)

我们如果测试我的图片中的一个被触摸我做“的touchesBegan”:

touch = [[event allTouches] anyObject]; 
if ([touch view] == image1) { NSLog (@"image1 clicked"); } 

但是当我测试的,如果我的“MAINVIEW”(其中所有图像都)来到点击 有:

if ([touch view] == mainview) { NSLog (@"mainview clicked");} 

我没有得到确认!

在短:当单独MAINVIEW是可点击我得到一个确定的,如果点击 但是,当我激活的所有图像(在MAINVIEW)是点击 ..我只是检查,如果他们被点击但现在不是了我的MAINVIEW。

view 
    mainview 
    image1 
    image2 
    image3 
    ..image50 

任何想法?? Thx Chris

+0

是在图像视图之一还是直接在主视图上发生的触摸? – gga80 2010-07-11 14:45:38

+0

对其中一个图像浏览!这才是重点。而是检查这50个图像中的每一个是否被触摸(用循环),如果父视图被触摸,则简单检查会更容易。 – 2010-07-11 15:06:33

+0

仍在寻求帮助!现在我尝试: 为(UITouch *在触摸[触摸allObjects]) \t { \t \t如果([触摸视图] == MAINVIEW) \t \t { \t \t \t的NSLog(@ “jojojo”); \t \t} \t} 但还是我找不到我的“MAINVIEW”被触摸。 – 2010-07-11 15:37:35

回答

0

这是因为按钮触摸。当触摸发生时,它会响应响应者链,直到响应它 - 在这种情况下,您的按钮。查看Event Handling Guide for iPhone OStouch section

+0

THX ..我看着它..我还没有得到解决..短样本将是非常好的。 – 2010-07-11 15:06:51