1

次のコードを使用して、viewController から rightbarbuttonitem を設定しています。

UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithTitle:@"Save" style:UIBarButtonItemStylePlain target:self action:@selector(saveDetails)];
self.navigationItem.rightBarButtonItem = item;

それはイメージに示すように現われています:

ナビゲーション項目

ご覧のとおり、表示されるボタンは、左ボタン項目またはタイトルのいずれかと垂直方向に整列していません。

また、ここに記載されているコードを使用して配置を調整しようとしました:

[self.navigationItem.rightBarButtonItem setTitlePositionAdjustment:UIOffsetMake(0, -10) forBarMetrics:UIBarMetricsDefault];

ただし、これによりカスタム フォントが削除され、ボタンがさらに上に移動します。

調整付きナビアイテム

UIAppearance プロキシを使用してカスタム フォント セットを配置し、維持する rightbarbuttonitem を設定するにはどうすればよいですか?

編集:

私も使ってみました

[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveDetails)];

しかし、結果は最初の画像とまったく同じです。

更新 (9 月 20 日):

私はアレクサンダーの答えに行かなければならないようです。よりクリーンなソリューションを持っている人はいますか?

4

2 に答える 2

1

私は答えを試しましたが、うまくいかないようでした。

UIButton私にとっての解決策は、 asを追加することでしたUIBarButtonItem。わかりにくい場合はUIButton、Interface Builder から を のLeftまたはの位置にドラッグRightBarButtonItemnavigationBarてくださいstoryboard

それが役に立てば幸い。

于 2017-09-11T16:49:57.000 に答える