【Swift5】UITabBarの画像の位置・サイズを変更する方法【Objective-C】

2020年8月26日

UITabBarの画像の位置・サイズを変更する方法をご紹介します。

UITabBarはデフォルトではこのように画像と文字が配置されます。
画像を下ぎみにしたり左ぎみにしたりするにはimageInsetsを変更する必要があります。

UITabBarの画像の位置・サイズを変更する方法

Swift5

class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        for item in (self.tabBarController?.tabBar.items)! {
            item.imageInsets = UIEdgeInsets(top: 0, left: -20, bottom: 0, right: 20)
        }
        
    }
    
}

Objective-C

@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    for (UITabBarItem *item in self.tabBarController.tabBar.items) {
        item.imageInsets = UIEdgeInsetsMake(0, -20, 0, 20);
    }
    
}
 
@end

画像の位置はUITabBarのitemsに入っているUITabBarItemのimageInsetsを変更することで位置の調整やサイズの調整が可能です。

上記では左-20・右+20としているので画像のサイズは変わらずに左側に20px移動します。

もし「位置は下ぎみ、画像を小さく」表示したい場合は、上+20と設定すれば上記のようになります。

item.imageInsets = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0)

もし「位置は中央に、画像を小さく」表示したい場合は、上+10・下+10と設定すれば上記のようになります。

item.imageInsets = UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)

このようにimageInsetsを変更すれば、UITabBarの画像の位置やサイズを変更することができます。

関連記事