2013-07-12 30 views
1

我有用於顯示滾動視圖的按鈕。我在awesomeview下有圖像。而滾動有滾動圖像awesomeview。然後讓myImageView8將真棒視圖呈現在屏幕中央。當我點擊scrollview圖像時,myImageView8在屏幕中心顯示awesomeview。然後我recilck按鈕,滾動視圖重新出現。但myImageView8不可觸摸。點擊滾動視圖圖像後,myImageView8再次在屏幕中心顯示真棒。重新出現後視圖不可觸摸

代碼:

scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 420, self.view.frame.size.width, self.view.frame.size.height)]; 
     scroll.pagingEnabled = YES; 
     NSInteger numberOfViews = 3; 
     for (int i = 0; i < numberOfViews; i++) { 
      // CGFloat xOrigin = i * self.view.frame.size.width; 
      // awesomeView = [[UIView alloc] initWithFrame:CGRectMake(xOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

      awesomeView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.frame.size.height)]; 

      awesomeView.backgroundColor=[UIColor clearColor]; 
      [scroll addSubview:awesomeView]; 

img = [UIButton buttonWithType:UIButtonTypeCustom]; 


      [img setImage:[UIImage imageNamed:@"img.png"] forState:UIControlStateNormal]; 
      // [overlayButton setFrame:CGRectMake(80, 420, 60, 30)]; 

      [img setFrame:CGRectMake(0, 0, 100,130)]; 

      [img addTarget:self action:@selector(img:) forControlEvents:UIControlEventTouchUpInside]; 
      [img setTag:0]; 

      [awesomeView addSubview:img]; 



      img1 = [UIButton buttonWithType:UIButtonTypeCustom]; 


      [img1 setImage:[UIImage imageNamed:@"sofa_s2.png"] forState:UIControlStateNormal]; 
      // [overlayButton setFrame:CGRectMake(80, 420, 60, 30)]; 

      [img1 setFrame:CGRectMake(110, 0, 100,130)]; 

      [img1 setTag:1]; 


       [img1 addTarget:self action:@selector(img1:) forControlEvents:UIControlEventTouchUpInside]; 
      [awesomeView addSubview:img1]; 


      img2 = [UIButton buttonWithType:UIButtonTypeCustom]; 
      [img2 setImage:[UIImage imageNamed:@"sofa_s3.png"] forState:UIControlStateNormal]; 
      // [overlayButton setFrame:CGRectMake(80, 420, 60, 30)]; 

      [img2 setFrame:CGRectMake(210, 0, 100,130)]; 

      [img2 setTag:2]; 

      [img2 addTarget:self action:@selector(img2:) forControlEvents:UIControlEventTouchUpInside]; 
      [awesomeView addSubview:img2]; 
} 
     scroll.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height); 
     [self.view addSubview:scroll]; 

myImageView8顯示真棒屏幕的中心:

myImageView8=[[UIImageView alloc]initWithFrame:CGRectMake(0, 50, 320, self.view.frame.size.height)]; 
     [self.view addSubview:myImageView8]; 
     myImageView8.userInteractionEnabled=YES; 

-(void)img:(id)sender{ 
[myImageView8 addSubview:awesomeView]; 


} 

-(void)img1:(id)sender{ 
[myImageView8 addSubview:awesomeView]; 


} 

-(void)img2:(id)sender{ 
[myImageView8 addSubview:awesomeView]; 


} 

回答

2

當你將圖像添加到您的視圖,所以你需要觸摸事件添加到您的圖片對象:

enter image description here

OR

就使用戶互爲作用programetically

使用UIResponder方法的touchesBegan,touchesMoved,touchesEnded等來檢測圖像視圖觸摸:

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

    UITouch *touch = [touches anyObject]; 

    if ([touch view] == yourImageView) 
    { 
      //add your code for image touch here 
    } 

} 
+0

對不起,你能看到編輯的問題。我錯誤地問了問題。 – user2474320

+0

讓我檢查... –

+0

如果您有任何問題,請參閱編輯並讓我知道。 –