2012-11-29 7 views
2

3 개의 버튼 중 하나를 클릭 한 것과 관련하여 Look of 3 버튼 (TitleLable + Background) 및 TextView의 텍스트를 변경하려고합니다. (탭의 내용처럼 뭔가)클릭 후 UIButton의 텍스트 또는 배경 변경

내가 XIB의 4 개 요소를 만들었습니다 '하고 .H로를 연결 : 여기에 (4 개 요소를 변경하는 코드를 시도 .mi 상기

IBOutlet UIButton *buttonTab1; 
    IBOutlet UIButton *buttonTab2; 
    IBOutlet UIButton *buttonTab3; 

    IBOutlet UITextView *thisDescription; 

    - (IBAction)showTab1:(id)sender; 
    - (IBAction)showTab2:(id)sender; 
    - (IBAction)showTab3:(id)sender; 

@property (strong, nonatomic) IBOutlet UIButton *buttonTab1; 
@property (strong, nonatomic) IBOutlet UIButton *buttonTab2; 
@property (strong, nonatomic) IBOutlet UIButton *buttonTab3; 

버튼 1)에 대한 :

@synthesize buttonTab1, buttonTab2, buttonTab3; 

- (IBAction)showTab1:(id)sender{ 
     thisDescription.text = [NSString stringWithFormat:@"INHALT TAB 1: %@",transferDescription]; 
     buttonTab1.imageView.image = [UIImage imageNamed:@"content_tab1_on.png"]; 
     buttonTab2.imageView.image = [UIImage imageNamed:@"content_tab2.png"]; 
     buttonTab3.imageView.image = [UIImage imageNamed:@"content_tab3.png"]; 
     buttonTab1.titleLabel.text = @"Tab1on"; 
     buttonTab2.titleLabel.text = @"Tab2"; 
     buttonTab3.titleLabel.text = @"Tab3"; 
    } 

TextViewElement의 텍스트가 잘 변경하지만 제목 & 배경은 XIB처럼 동일합니다.

답변

1

단추에 배경 이미지와 제목을 설정하려면 setTitle:forState: 방법과 setBackgroundImage:forState: 방법을 사용해야합니다. 상태에 따라 단추의 제목이나 배경이 다를 수 있으므로 이미지 나 레이블의 설정이 제대로 작동하지 않습니다.

[buttonTab1 setBackgroundImage:[UIImage imageNamed:@"content_tab1_on.png"] forState:UIControlStateNormal]; 
[buttonTab2 setBackgroundImage:[UIImage imageNamed:@"content_tab2.png"] forState:UIControlStateNormal]; 
[buttonTab3 setBackgroundImage:[UIImage imageNamed:@"content_tab3.png"] forState:UIControlStateNormal]; 
[buttonTab1 setTitle:@"Tab1on" forState:UIControlStateNormal]; 
[buttonTab2 setTitle:@"Tab2" forState:UIControlStateNormal]; 
[buttonTab3 setTitle:@"Tab3" forState:UIControlStateNormal]; 
+0

감사합니다. 정상적으로 작동합니다. –

0

요점은 당신이 당신의 코드에서 배경 이미지를 변경하지 않는 것이있다 :

이 당신에게 당신의 코드에서이를 구현하는 방법에 대한 몇 가지 아이디어를 줄 것이다. UIButton 객체의 (전경) 이미지를 설정하는 것입니다. IB로 정의 된 배경 이미지, 프로그래밍 방식으로 설정된 텍스트 및 프로그래밍 방식으로 설정된 이미지로 끝납니다.

원칙적으로 작동해야하며 실수를하지 않을 수도 있지만 UIButton에서는 이미지와 텍스트를 동시에 설정할 수 없습니다. 하나의 버튼에는 둘 중 하나만있을 수 있습니다. 적어도 둘 다 동시에 표시 할 수는 없습니다.

해결책 : 이미지 대신 배경 이미지를 설정하십시오.

관련 문제