2012-07-30 3 views
1

일반적으로 UIButton을 숨기는 것은 어렵지 않지만 IBOutlet 대신 IBAction으로 설정했습니다. 이것은 버튼을 눌렀을 때 텍스트가 튀어 나오기 때문에 필요합니다.하지만 버튼을 사라지게하고 싶습니다. 해결 방안은 무엇인가?IBAction으로 UIButton 숨기기

+0

"텍스트 팝업"이라고 할 때 경고 (UIAlertView)를 의미합니까? – Daniel

+0

버튼을 눌렀을 때 특정 메시지로 설정된 레이블이 있음을 의미합니다. –

답변

0

당신은 아마 선언 당신의 IBAction를처럼 :

- (IBAction)myButtonAction; 

이 있어야한다 :

- (IBAction)myButtonAction:(id)sender; 

을 다음

- (IBAction)myButtonAction:(id)sender 
{ 
    if([sender respondsToSelector:@selector(setHidden:)]) 
     [sender setHidden:YES]; 
} 

모든 IBActions 수신 지원할 수있는 방법으로 할 수 있기 때문에 자신의 보낸 사람을 함수로 사용합니다. 그러나 다른 UI 요소가 해당 함수를 호출하면 숨겨집니다. 또한 위의 방법을 사용하면 버튼 숨기기를 해제 할 수 없으며 그렇게해야 할 경우 IBOutlet을 사용하는 것이 좋습니다. 5.0 이상에서는 보유하지 않는 weak 키워드를 사용할 수 있습니다. 참조가 있고 객체가 파괴되면 자동으로 nill됩니다. 4.x에서는 viewDidUnload에서 nil로 설정해야한다는 것을 기억해야합니다.

+0

감사합니다. 완벽하게 작동합니다! 이제 다른 질문이 있습니다. 버튼을 누르기 전에 숨겨진 버튼이 있지만 버튼을 누른 후에 다른 버튼이 보이기를 원합니다. 나는 두 번째 부분을 처리 할 수 ​​있다고 믿지만 버튼을 원래 숨겨진 상태로 설정하는 방법을 모르겠습니다. –

+0

당신은이 UILabel의 처리를 위해 IBOutlets 속성을 실제로 만들어야합니다. BOOL iVar aa 플래그를 사용하여 앱의 상태를 알 수 있습니다. 속성을 사용하여 값을 업데이트하고 숨김/표시합니다. – Daniel

+0

글쎄요, 문제가없는 UILabel이 하나뿐입니다. 화면이 처음으로로드 될 때 특정 버튼이 숨겨 지도록하는 방법을 모르겠습니다. –