2012-01-23 12 views
0

カスタムUIBarButtonItemを作成しようとしていますが、タイトルが表示されない理由を理解できません。たぶん他の誰かがそれを見つけることができます:ここでUIButtonのタイトルは表示されません

\私はバーボタンを作成するために使用するコードは次のとおりです。

+ (UIBarButtonItem *)barButtonItemWithTitle:(NSString *)title normal:(UIImage *)normal highlighted:(UIImage *)highlight selected:(UIImage *)selected target:(id)target action:(SEL)action 
{ 
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 

    [button setFrame:CGRectMake(0.0f, 0.0f, normal.size.width, normal.size.height)]; 
    [button setTitle:title forState:UIControlStateNormal]; 
    [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside]; 
    [button setImage:normal forState:UIControlStateNormal]; 
    [button setImage:selected forState:UIControlStateHighlighted]; 
    [button setImage:selected forState:UIControlStateSelected]; 

    return [[UIBarButtonItem alloc] initWithCustomView:button]; 
} 


self.navigationItem.leftBarButtonItem = [UIBarButtonItem barButtonItemWithTitle:@"Cancel" 
                     normal:[UIImage imageNamed:@"back_button_active.png"] 
                    highlighted:[UIImage imageNamed:@"back_button_highlight.png"] 
                     selected:[UIImage imageNamed:@"back_button_selected.png"] 
                     target:self 
                     action:@selector(popViewController)]; 

任意の助けをいただければ幸いです!

P.S.これは、iOS 5ではARCを使用しています。

答えて

1

タイトルと画像は、UIButtonの相互排他的なプロパティです。カスタム背景でタイトルを付ける場合は、backgroundImageプロパティを使用する必要があります。

... 
[button setBackgroundImage:normal forState:UIControlStateNormal]; 
[button setBackgroundImage:selected forState:UIControlStateHighlighted]; 
[button setBackgroundImage:selected forState:UIControlStateSelected]; 
... 
+0

TY私はそれが本当にばかげた何かであることを知っていた。私は午前4時まで起床するのではなく、寝るべきだと思います! :\ – user754905

関連する問題