2011-07-12 10 views
1

ナビゲーションバーで使用される戻るボタンのような形状のツールバーにツールボタンを挿入することは可能ですか?ここ は、私が何を意味するかです:事前にバーのios戻るボタン

sample

感謝!

+0

私はあなたが達成しようとしていることを理解していません。ツールバーとナビゲーションバーを機能的に1つのバーに結合しようとしていますか? – MiguelB

+0

私の意見では申し訳ありませんが、私はツールバーしか持っていませんが、バックのようなボタンを作成する必要がありますが、矢印の形をしたバックは、ナビゲーションバーを使用する場合にのみ有効ですが、ツールバーのみを持っています – ghiboz

+0

Okので、いくつかのコントローラをナビゲーションスタックにプッシュするだけでアクティブになるツールバーの戻るボタンが必要になります。それですか? – MiguelB

答えて

2

少なくとも、戻るボタンの形状ではなく、左に矢印の端があるものはできません。 backBarButtonItemは、UINavigationItemのプロパティにすぎません。

あなたはあなたを、(私はAppleがそれを好きではないと思いますが...あなたはiOSのヒューマンインターフェイスガイドラインをお読みください)戻ってあなたのツールバー上の長方形のボタンを使用し

ORするか

画面上の別の場所にカスタム戻るボタンを追加することができます。たとえば、ツールバーが下部にある場合は、画面の左上隅にカスタムの戻るボタンを追加して、物事をきれいに保つことができます。こうすることで、戻るボタン用のナビゲーションバーを持つだけの画面スペースを節約できます。

+0

ありがとうございました。画面にカスタム戻るボタンを追加するにはどうすればよいですか? – ghiboz

+0

UIButtonクラスでは、おそらく...フレームを必要な場所に設定したり、backgroundImage(バック矢印などの形をしたもの)などを設定します。 – MiguelB

1

typeonerrorには、必要なものが含まれているgithubのコードがあります。それは、ビューコントローラ上の戻るボタンをカスタマイズするため、実際のですが、あなたは代わりに、ツールバーの[戻る]ボタンを作成するために使用することができます。特に

https://github.com/typeoneerror/BBCustomBackButtonViewController

、次のようなコード(実際にはstackoverflowのから来ました、Customization of UINavigationBar and the back button):

+ (UIBarButtonItem *)styledBackBarButtonItemWithTarget:(id)target selector:(SEL)selector; 
{ 
    UIImage *image = [UIImage imageNamed:@"button_back"]; 
    image = [image stretchableImageWithLeftCapWidth:20.0f topCapHeight:20.0f]; 

    NSString *title = NSLocalizedString(@"Back", nil); 
    UIFont *font = [UIFont boldSystemFontOfSize:12.0f]; 

    UIButton *button = [UIButton styledButtonWithBackgroundImage:image font:font title:title target:target selector:selector]; 
    button.titleLabel.textColor = [UIColor blackColor]; 

    CGSize textSize = [title sizeWithFont:font]; 
    CGFloat margin = (button.frame.size.height - textSize.height)/2; 
    CGFloat marginRight = 7.0f; 
    CGFloat marginLeft = button.frame.size.width - textSize.width - marginRight; 
    [button setTitleEdgeInsets:UIEdgeInsetsMake(margin, marginLeft, margin, marginRight)]; 
    [button setTitleColor:[UIColor colorWithRed:53.0f/255.0f green:77.0f/255.0f blue:99.0f/255.0f alpha:1.0f] forState:UIControlStateNormal]; 

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