2013-08-07 6 views
1

두 개의 버튼이 내 펜촉에 있습니다. 나는 도청 당했을 때 양쪽 모두를 눌러야하지만 상단 버튼 만이 그 기능을 수행합니다. 맨 위 버튼을 눌렀을 때 맨 아래 버튼이 활성화되도록 지시하는 방법이 있습니까? 하나의 버튼이 다른 버튼보다 크기 때문에 하나의 버튼 만 병합 할 수 있다고 생각하지 않습니다. (IBAction) buttonName 함수는 하나의 버튼이 다른 버튼보다 크므로 둘 중 하나를 누르면 항상 활성화 될 필요가 없습니다.두 개의 버튼, 한 번의 클릭으로

감사합니다.

+4

먼저 두 개의 버튼이 서로 위에 있습니다. –

+0

하나는 보이지 않습니다. –

+2

"왜?"라고 대답하지 않습니다. –

답변

3

상단 버튼을 눌렀을 때 버튼이 작동하도록 활성화하는 방법이 있습니까?

실제로는 아니지만 아래쪽 버튼에 대한 작업을 호출하는 맨 위 버튼에 대한 작업을 수행 할 수 있습니다.

여기에 한 가지 방법입니다 :

- (IBAction)actionTop:(id)sender 
{ 
    NSLog(@"The top button was activated."); 
    [self actionBottom:self]; 
} 

- (IBAction)actionBottom:(id)sender 
{ 
    NSLog(@"The bottom button was activated."); 
} 

또 다른 방법은 모두 동일한 작업을 사용하고있는 버튼 액션 트리거를 기반으로 수행 할 작업 파악하는 것입니다 :

- (IBAction)action:(id)sender 
{ 
    // if the top button was tapped, do this part 
    if (sender == self.topButton) { 
     NSLog(@"The top button was activated."); 
    } 

    // you want the bottom button to be activated no matter which button was tapped, so 
    // no need to check here... 
    NSLog(@"The bottom button was activated."); 
} 

하단의 버튼은 표시되는 내용을 변경하는 전체 화면입니다. 상단 버튼을 그것은 문제를 해결하기 위해 잘못된 방법이 될 수있는 화면 전체를 덮고 눈에 보이지 않는 버튼처럼 보인다 다른 소리

을한다 4 개 위에 버튼이 있습니다 제외하고 사운드를 재생합니다. 보기에 첨부 된 제스처 인식기를 사용하여 변경을 트리거 할 수 있습니다. 버튼 동작은 제스처 인식기에서 사용하는 것과 동일한 메서드를 호출 할 수 있습니다.

+0

당신은 어딘가에 if 문이 필요 없으므로 그 밑바닥이 언제 함수를 사용해야하는지 알 수있다. –

+0

@GregM 첫 번째 예제를 사용한다면 맨 위 버튼의 액션으로'actionTop :'을 설정하고'actionBottom :' 하단 버튼의 동작으로 맨 위 버튼을 두드리는 경우, 필요한 작업을 수행 한 다음 맨 아래 작업을 트리거합니다. 하단 버튼을 두드리면 아래쪽 동작 만 트리거됩니다. – Caleb

+0

전 발신자를 사용하지 않고 방금 전에 - (IBAction) actionTop, 그 차이가 있습니까? –

2

하나의 버튼이 다른 버튼보다 크기 때문에, 시각적 상태의 변경을 포함하여 더 작은 버튼을 사용하여 큰 버튼을 "내리 누르십시오"라고 가정합니다. 다음과 같은 경우에 send your target button a "tap" programmaticall y와 같이 할 수 있습니다.

- (IBAction)largeButtonClick:(id)sender { 
} 

- (IBAction)smallButtonClick:(id)sender { 
    // Perform the acton specific to only the small button, then call 
    [largeButton sendActionsForControlEvents:UIControlEventTouchUpInside]; 
} 
관련 문제