23

下のテキストではなく、アイコンを UITabBarItem としてのみ使用したいのですが、これが可能かどうか疑問に思っていました。ティア

4

9 に答える 9

25

タイトルを削除

インスペクターを使った簡単な方法

  • TabbarItem を選択します
  • Title Positionで Custom Offset に変更
  • 垂直方向を 100 に設定
  • 終わり

ここに画像の説明を入力

画像を修正

画像を調整する

  • TabbarItem を選択します
  • 上と下を定義する

ここに画像の説明を入力

于 2015-11-16T03:58:39.373 に答える
25

ストーリー ボードを使用する場合はImage Inset、バー アイテムのサイズ インスペクターを使用して、同時にタイトルを空に設定できます。

ここに画像の説明を入力

于 2014-11-08T17:08:40.533 に答える
18

画像を設定してタイトルに nil を渡すと、画像は UITabBar アイテムの最上位に表示されます。位置も設定する必要があります。

int offset = 7;
UIEdgeInsets imageInset = UIEdgeInsetsMake(offset, 0, -offset, 0);

TabBarItem のアイコン イメージを設定した後、プロパティ値を設定してイメージの位置を変更します。次のようにします。

uiViewController.tabBarItem.imageInsets = imageInset;
于 2013-12-10T01:35:28.050 に答える
8

この Swift 拡張機能を使用して、新しいメソッドを定義できます。このメソッドは、画像のみを表示するように変更されたtabBarItemShowingOnlyImage()ものを返します。UITabBarItem

// helper for creating an image-only UITabBarItem
extension UITabBarItem {
    func tabBarItemShowingOnlyImage() -> UITabBarItem {
        // offset to center
        self.imageInsets = UIEdgeInsets(top:6,left:0,bottom:-6,right:0)
        // displace to hide
        self.setTitlePositionAdjustment(UIOffset(horizontal:0,vertical:30000))
        return self
    }
}

この拡張機能は、他のコメントで提供されたアドバイスに基づいています。

タイトルを に設定するのではなく、置き換えて非表示にします。これはnil、ビュー コントローラー自体などの他のオブジェクトが、タブ バー項目が初期化された後にタイトルを何らかの値に設定する場合があるためです。を使用して画像を中央imageInsetsに配置し、6pt オフセットします。これは、iOS8.3 を実行している iPhone 6 で目で見て得た値です。

他のデバイスやレイアウト構成では別のオフセット補正が必要になる可能性があるため、一般的なソリューションはおそらくより複雑になると思います。

于 2015-05-06T17:35:12.617 に答える
1

関連するドキュメント(私のハイライト):

initWithTitle:image:tag: 指定されたプロパティを使用して新しいアイテムを作成して返します。

- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag

パラメーター

title: アイテムのタイトル。nil の場合、タイトルは表示されません。

image: アイテムの画像。nil の場合、画像は表示されません。タブ バーに表示される画像は、この画像から派生したものです。この画像が大きすぎてタブ バーに収まらない場合は、収まるように切り取られます。通常、タブ バー イメージのサイズは 30 x 30 ポイントです。ソース イメージのアルファ値を使用して、選択されていないイメージと選択されたイメージが作成されます。不透明な値は無視されます。

tag: レシーバーのタグ。アプリケーションでバー アイテム オブジェクトを識別するために使用できる整数です。

戻り値: 指定されたプロパティを持つ新しく初期化されたアイテム。

于 2012-08-04T20:38:33.103 に答える
0

このような

UITabBarItem * personalBarItem = [[UITabBarItem alloc] init];
[personalBarItem setFinishedSelectedImage:[UIImage imageNamed:@"personal_click"] withFinishedUnselectedImage:[UIImage imageNamed:@"personal"]];
于 2013-12-10T02:46:48.133 に答える
0

以下のコードで試してください:

UIViewController *viewController1=[[RootViewController alloc]initWithNibName:@"RootViewController" bundle:nil];
UIViewController *viewController2=[[SecondViewCtr alloc]initWithNibName:@"SecondViewCtr" bundle:nil];
UIViewController *viewController3=[[ThirdViewCtr alloc]initWithNibName:@"ThirdViewCtr" bundle:nil];
UIViewController *viewController4=[[FourthVIewCtr alloc]initWithNibName:@"FourthVIewCtr" bundle:nil];
UIViewController *viewController5=[[FIfthViewCtr alloc]initWithNibName:@"FIfthViewCtr" bundle:nil];


UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:viewController2];
UINavigationController *nav3 = [[UINavigationController alloc] initWithRootViewController:viewController3];
UINavigationController *nav4 = [[UINavigationController alloc] initWithRootViewController:viewController4];
UINavigationController *nav5 = [[UINavigationController alloc] initWithRootViewController:viewController5];
peekArray = [[NSMutableArray alloc] init];

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1, nav2,nav3,nav4,nav5, nil];

UITabBar *tabBar = _tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4];

[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"home123.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"home_112.png"]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"gift123.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"gift_112.png"]];
[tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"cam12.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"cam_112.png"]];
[tabBarItem4 setFinishedSelectedImage:[UIImage imageNamed:@"message12.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"message_112.png"]];
[tabBarItem5 setFinishedSelectedImage:[UIImage imageNamed:@"people12.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"people_112.png"]];

[self.tabBarController setSelectedIndex:0];
self.window.rootViewController = self.tabBarController;
于 2013-12-10T04:50:31.883 に答える