2011-08-12 4 views
0

기본보기에 사용자 정의보기를 추가하고보기에서 단추를 만들고 단추를 표시하고 있지만 단추를 눌러도 작업이 수행되지 않습니다. 버튼을 탭하여 사진 갤러리를 열고 싶습니다. 버튼을 누르면 루프가 생성됩니다. 난이 사용하고UIButton 선택기가 주 창보기에서 작동하지 않습니다.

코드 ... 또한

UIImage *image=[[UIImage alloc] initWithData:data cache:NO]; 
UIImageView *iv=[[UIImageView alloc] initWithFrame:CGRectMake(200, y, 75, 75)]; 

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(200, y, 75, 75)]; 
[button setAlpha:0]; 
[button setTag:i];//change this to your loop counter 
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; 

iv.image=image; 
// [email protected]"bigimage.jpg"; 
iv.userInteractionEnabled=YES; 
button.userInteractionEnabled = YES; 

[iv addSubview:button]; 
[button release]; 

y=y+145; 
[view1 addSubview:iv]; 
[iv release]; 

그리고이 코드를 시도하지만 개선이없는 .....

UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom]; 
     button.frame=CGRectMake(200, y, 75, 75); 
     UIImage *img = [[UIImage alloc] initWithData:data]; 
     [button setBackgroundImage:img forState:UIControlStateNormal]; 
     [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; 
     button.tag = i; 
     y = y+145; 
     [view1 addSubview:button]; 
+1

왜 이미지보기에 단추를 추가하고 있습니까? –

+0

버튼에 이미지가 표시되지 않아야합니다. – shivangi

+1

@shivangi : 버튼의 배경 이미지로 이미지를 추가해야합니다. – Maulik

답변

0

안녕하세요 Shivangi,

  I think you want to set image on button so try this code its will help you 



      //function to create button dynamically on scrollview 
      -(void)createButton 
      { 
      int Y = 20; 
      indexRow = 0; 
      for (int i = 0; i < [prow.noOfPhotos count]; i++) 
      { 
       thumbNailButton = [UIButton buttonWithType:UIButtonTypeCustom];  
       int X = 4 + (78 * (i % 4)); 
       NSLog(@"X = %d",X); 

       NSLog(@"Start Y = %d",Y); 
       if (i % 4 == 0) 
       { 
      NSLog(@"%d",i); 
      Y = (70 * verticalImageRowCount); 
      NSLog(@"Y = %d",Y); 
      verticalImageRowCount++; 
      NSLog(@"VerticalImageRowCount= %d"); 
       } 

       CGRect rect = myScrollView.frame; 
       rect.size.width = 100; 
       rect.size.height = Y + 77; 
       myScrollView.contentSize = CGSizeMake(rect.size.width,rect.size.height); 
       thumbNailButton.frame = CGRectMake(X,Y, 62,65); 

       view = [[UIImageView alloc] init]; 

       prow.photo = [prow.noOfPhotos objectAtIndex:indexRow]; 

       imagePath = prow.photo; 
       asyncImageView = [[[AsyncImageView alloc] initWithFrame:CGRectMake(4, 0, 62, 65)] autorelease]; 
       asyncImageView.backgroundColor = [UIColor clearColor]; 
       [view addSubview:asyncImageView]; 

       NSURL *url = [NSURL URLWithString:imagePath]; 
       [asyncImageView loadImageFromURL:url];   
       [view setImage:[UIImage imageNamed:[prow.noOfPhotos objectAtIndex:i]]]; 

       thumbNailButton.tag = i; 
       thumbNailButton.backgroundColor=[UIColor clearColor]; 
        [thumbNailButton addTarget:self action:@selector(imageClicked:) forControlEvents:UIControlEventTouchUpInside]; 
       [thumbNailButton addSubview:view]; 
       [myScrollView addSubview:thumbNailButton]; 
       indexRow+= 1; 

       } 
       } 
+0

시도한 후에도 동일한 문제가 남아 있습니다. – shivangi

+0

답장을 보내 주셔서 감사합니다 – shivangi

+0

사진 갤러리 기능을 구현하고 싶습니다. –

1

버튼의 프레임은 이미지 뷰와 동일한 원점 x와 y를 가져서는 안됩니다. 이미지 뷰 내부에 원한다면 원점 x : 0 y : 0과 이미지 뷰와 동일한 너비와 높이를 가져야합니다.

원점 x, y는 부모를 기준으로합니다. 당신의 경우에는 이미지 뷰.

+0

그리고 Nikunj는 왜 버튼 대신에 배경 이미지를 가지고 있지 않습니까? – sanna

+0

네,하지만 그 문제는 여전히 동일합니다. – shivangi

+0

buttonPressed 메서드는 어떻게 생겼습니까? – sanna

0

NSLog를 buttonPressed에 넣고 해당 메소드가 호출되는지보십시오. 어쩌면 메서드가 호출되고 있지만 포토 갤러리 앱이 다른 이유로 시작되지 않습니다.

0

버튼의 알파를 0으로 설정하면 사용자가 버튼을 클릭 할 수 없습니다. 즉, 이벤트가 발생하지 않습니다.

[button setAlpha:0]; 

이것은 button.hidden = YES 설정과 동일한 효과가 있습니다.

버튼을 사용하여 보이지 않는 클릭 존을 원한다면 버튼 유형을 UIButtonTypeCustom로 설정하면 트릭을 수행해야합니다.

관련 문제