2014-12-01 5 views
-2

단추를 만들려면 아래 코드가 필요합니다.프로그래밍 방식으로 UIButton을 제거하십시오.

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
       [but addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
       [but setFrame:CGRectMake(655, 320, 35, 35)]; 
       but.translatesAutoresizingMaskIntoConstraints = YES; 
       [but setTitle:@"Login" forState:UIControlStateNormal]; 
       [but setExclusiveTouch:YES]; 
       [self.view addSubview:but]; 

이 코드를 사용하여 터치를 인식합니다.

-(void) buttonClicked:(UIButton*)sender 
{ 

    [self text2]; 

} 

내 버튼은이 버튼을 누르면 내가 만든이 버튼을 어떻게 숨기거나 제거 할 수 있습니까?

많은 감사

숨겨진 버튼

답변

1

자세한 설명은, 버튼 숨겨진 보낸 사람으로 당신의 방법에 와서이 :

-(void) buttonClicked:(UIButton*)sender 
{ 
    [self text2]; 
    sender.hidden = YES; 
} 

가에서 제거, 당신은 참조 계수가 0이됩니다 필요, 제거하는 방법 superview하고 nil에두면 NSLog가 존재하지 않는 것보다 보입니다.

-(void) buttonClicked:(UIButton*)sender 
{ 
     [sender removeFromSuperview]; 
     sender = nil; 
     NSLog(@"View sender %@",[sender description]); 
} 
+1

설명을 추가하는 것이 좋겠습니까? 또한 질문의 나머지 절반에 대해 버튼을 숨길 수 있습니까? 그것을 제거하십시오. – Popeye

+0

여기 @Popeye 있습니다. 베스트 –

1

귀하는이 UI 빌더를 통해 추가 버튼을 수행하는 방법과 유사한 방법으로, 뷰 컨트롤러의 버튼에 대한 참조를 저장하거나 버튼 태그를 붙여서 검색 viewWithTag을 사용하거나해야합니다. 당신이 그것을 제거 할 필요가있을 때,

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
but.tag = 123; 
... // The rest of your code 

[[self.view viewWithTag:123] setHidden:YES]; 
0

[button removeFromSuperview];

사용

그리고하지에 대한 투표를 아래로 Padpadpadpadpadpad

:

두 번째 방법은 구현하는 것이 더 쉬울 것입니다 문서 읽기

관련 문제