2012-10-11 3 views
1

사용자 정의 UIBarButtonItem의 제목을 사용자 지정하는 방법 : 내가 "로그인"와 제목을 볼 수 없습니다나는이 같은 UIBarButtonItem을 사용자 정의

UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
loginBtn.frame = CGRectMake(0, 0, 46.0, 34.0); 
[loginBtn setImage:[UIImage imageNamed:@"loginBtn.png"] forState:UIControlStateNormal]; 
[loginBtn addTarget:self action:@selector(loginPressed:) forControlEvents:UIControlEventTouchUpInside]; 
[loginBtn setTitle:@"Login" forState:UIControlStateNormal]; 

UIBarButtonItem *finishedButton = [[UIBarButtonItem alloc] initWithCustomView:loginBtn]; 

[finishedButton setStyle:UIBarButtonItemStylePlain]; 
self.navigationItem.rightBarButtonItem = finishedButton; 

하지만 지금 를,이 버튼을 빈, 그것은 보인다 "setTitle :"이 작동하지 않습니다. 아무도 그 이유를 말할 수 있습니까? 고마워!

답변

0

setTitle: 작업을 수행 했으므로 문서를주의 깊게 읽지 않았습니다. 후자가 setTitle:보다 우선하므로 setImage: 대신 setBackgroundImage:을 사용하십시오. 그러나 이전에는 그렇지 않습니다. 그래서 그 대신

[loginBtn setImage:[UIImage imageNamed:@"loginBtn.png"] forState:UIControlStateNormal]; 

쓰기

[loginBtn setBackgroundImage:[UIImage imageNamed:@"loginBtn.png"] forState:UIControlStateNormal]; 
      ^
      +- background! 

의 당신이 가서 잘해야한다.

+0

작동합니다! 이제 제목이 나타납니다. 고마워요! 하지만 버튼의 글꼴이 너무 큽니다. 글꼴을 설정할 수 있습니까? –

+0

@ trey.lin 당신을 진심으로 환영합니다. 그건 그렇고, 당신은 도움이 답변을 받아 들일 예정이다. 네, 글꼴을 설정할 수 있습니다 :'loginBtn.titleLabel.font = [UIFont boldSystemFontOfSize : 10]; 또는 그와 비슷한 것. –

관련 문제