2012-08-13 2 views
13

Anyoone은 UIButton을 사용하여 다음 방법을 호출하는 작업을 추가하는 방법을 알려줍니다.UIButton 대상 추가 - iOS

-(void)navigatePics:(id)sender andIndex:(NSInteger *)index{} 
+0

당신이 원하는 기능의 유형을 설명해주십시오. 메소드가 무언가를하기 위해 {} 사이에 누군가 쓰도록 하시겠습니까? 또는 Interface Builder (IB)에 연결하는 데 도움이 필요합니까? – MrHappyAsthma

+0

나는 [button addTarget : 자기 행동 : @selector (_this space____) forControlEvents : UIControlEventTouchUpInside]를 찾고있다; –

답변

50

button.setTag : (NSInteger) 메서드를 사용하여 UIButton에 인덱스를 태그로 추가하십시오.

UIButton *button = ...; 
[button setTag:1234]; 
[button addTarget:self action:@selector(navigatePics:) forControlEvents:UIControlEventTouchUpInside]; 

그런 다음 navigatePics에서 태그를 읽습니다.

-(void)navigatePics:(UIButton *)sender 
{ 
int index = sender.tag; 
// index = 1234; 
} 
0

트릭을 수행해야합니다. 다른 인스턴스에서이 메서드를 호출하려면 self를 사용하지 마십시오. 이 경우 해당 인스턴스를 자체 대신 사용하십시오.

[button addTarget:self action:@selector(navigatePics:andIndex:) forControlEvents:UIControlEventTouchUpInside]; 
+0

어떻게 인덱스 값을 전달합니까? –

+0

색인 값을 전달할 수 없습니다 ... 보낸 사람에게서 가져옵니다. –

2
UIButton *button = [[UIButton alloc] init]; 
button.tag = 4; //index 
[button addTarget:self @selected(buttonDidTap:)]; 

... 
[button release]; 

-(void)buttonDidTap:(UIButton *)sender{ 
NSInteger index = sender.tag; 
}