2011-03-26 12 views
1

내 탭 중 하나가 다른 탭에서 다른 동작을하고 싶습니다. 그것의 동일한 버튼 때문에 특정 동작이 발생할 때마다 사용하고 있습니다.동일한 버튼이 여러 작업을 수행해야합니다.

이 방법이 있습니까?

감사합니다,

+0

행운에 초기 태그 값을 설정하는 것을 잊지 마세요 내가 당신을 원하는 것입니다. –

+1

다른 탭이란? 싱글, 더블, 트리플 탭? 아니면 앱 스토어의 Buy Icon과 비슷합니까? –

답변

1

당신은 당신의 버튼을 사용하여 다른 작업을 할 수있는 다른 방법을 만들 것입니다 서로 다른 역할을합니다. 그런 다음 버튼 동작이 변경되기를 원할 때마다 원하는 동작을 처리하도록 버튼을 설정해야합니다.

그래서 첫 번째 행동 :

[button addTarget:self action:@selector(method1:) forControlEvents:UIControlEventTouchUpInside]; 

- (void) method1 
{ 
//set button to handle method 2 
[button addTarget:self action:@selector(method2:) forControlEvents:UIControlEventTouchUpInside]; 
} 

- (void) method 2 
{ 

} 
2

추가 UIGestureRecognizer을 추가, 단일 탭 무슨 일이 연결됩니다 작업입니다)하지만 당신은 등 더블 탭, 스 와이프,

같은 제스처의 다른 종류를 추가 할 수 있습니다
0

버튼을 누르면 탭이보기 컨트롤러의 메소드를 호출합니다. 거기에서 다음과 같이하면됩니다 :

if (internalState == FOO) { 
    [self doA]; 
} else { 
    [self doB]; 
} 
2

button의 tag 속성을 사용할 수 있습니다. 그래서 당신의 IBAction 메소드 내부.

-(void)buttonClicked:(id)sender{ 
    UIButton *button = (UIButton *)sender; 
    if (button.tag == 1) { 
     // perform your required functionality 
     button.tag = 2; 
    } 
    else if (button.tag == 2) { 
     // perform your required functionality 
     button.tag = 3; 
    } 
    else if (button.tag == 3) { 
     // perform your required functionality 
     button.tag = 1; 
    } 
} 

그리고 터치 스크린을 클릭하여 1

관련 문제