5

完全にカスタムのナビゲーション バーを作成していることがわかります。戻るボタンを作成すると、コードの下にあるように、正しい場所に留まりません。

これがアプリの私のコードです

- (void)viewDidLoad
{
    [super viewDidLoad];
    if(self.navigationController.viewControllers.count > 1) {
    UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
    
    [backButton setTitle:@"" forState:UIControlStateNormal];
    [backButton setBackgroundImage:[UIImage imageNamed:@"backButton.png"] forState:UIControlStateNormal];
    [backButton addTarget:self action:@selector(didTapBackButton:) forControlEvents:UIControlEventTouchUpInside];
    backButton.frame = CGRectMake(0.0f, 0.0f, 44.0f, 45.0f);
    UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
    
    self.navigationItem.leftBarButtonItem = backButtonItem;
}

}

ピック

4

4 に答える 4

6

ボタンの位置を作るために contentEdgeInsets を変更するだけでよいと思います。

このようなもの:

[backButton setContentEdgeInsets:UIEdgeInsetsMake(5, 0, -5, 0)];

UIButton クラス リファレンスから取得

contentEdgeInsets

ボタンのすべてのコンテンツを囲む四角形のインセットまたはアウトセット マージン。

@property(nonatomic) UIEdgeInsets contentEdgeInsets

ディスカッションこのプロパティを使用して、ボタン コンテンツの有効な描画四角形のサイズと位置を変更します。コンテンツは、ボタンの画像とボタンのタイトルで構成されます。4 つのインセット (上、左、下、右) のそれぞれに異なる値を指定できます。正の値を指定すると、そのエッジが縮小または挿入され、ボタンの中心に近づきます。負の値は、そのエッジを拡張またはアウトセットします。UIEdgeInsetsMake 関数を使用して、このプロパティの値を構築します。デフォルト値は UIEdgeInsetsZero です。

于 2013-01-25T04:47:36.380 に答える
0

変更することはできません。それを隠す必要があります。

ここに投稿されたこのページを見てください:

http://rafaelsteil.com/2011/07/23/crappy-ios-apis-uinavigationcontroller/

戻るボタンのタイトルは変更できませんが、非表示にすることはできます

于 2013-01-24T22:37:27.280 に答える
0

最初にNavigationBarを非表示にする必要があります...

    [self.navigationController setNavigationBarHidden:YES animated:NO];

次に、カスタム UIButton を作成します。

    UIButton *btn1=[UIButton  buttonWithType:UIButtonTypeCustom];
    [btn1 setFrame:CGRectMake(10, 0, 60, 40)];// Frame u want

    [btn1 setImage:[UIImage imageNamed:@"BT_ipad_P_backbward@2x.png"] forState:UIControlStateNormal];
    [btn1 addTarget:self action:@selector(Click_backward:) forControlEvents: UIControlEventTouchUpInside];
btn1.tintColor=[UIColor purpleColor];
    [self.view addSubview:btn1];
于 2013-01-25T04:28:07.890 に答える