web-dev-qa-db-ja.com

UITabBarまたはUITabBarItemでテキストの位置を変更する方法はありますか?

enter image description here

これは、画面に表示するつもりのカスタムタブバーです。ただし、私のパートナーはテキストを少し上にしたいと考えています。どうすればできますか?

27
Sharen Eayrs

ビューコントローラーに空のタイトルプロパティを用意し、タブのカスタム画像にタイトルを追加しないのはなぜですか?

UPDATE:回答を完全にするために;コメントと 画像がない場合はiOSタブバーがテキストを中央に配置する

[tab.tabBarItem setTitlePositionAdjustment:UIOffsetMake(0, -10)]

48

このオフセットをグローバルに適用したいので、お勧めします

Obj-C

[UITabBarItem appearance].titlePositionAdjustment = UIOffsetMake(0, -4);

迅速:

UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -4)
32

以下は、Interface Builderでの同じトリックです。

enter image description here

10
AmitP

次のように、Interface Builder(タイトル位置のカスタムオフセット)から直接実行できます。 link

8
kamil3

私はここで答えを見つけました: 画像がない場合、iOSタブバーはテキストを中央に配置します これを試してみて、それがどうなるかを確認します:)

更新:動作します。コードは1行だけです。

0
Sharen Eayrs

IOS 13以降の場合:

if #available(iOS 13, *) {
        let appearance = UITabBarAppearance()
           appearance.stackedLayoutAppearance.selected.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -10)
           appearance.stackedLayoutAppearance.normal.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -10) 
     }
0
Yogendra Singh