fuz*_*oat 94 iphone cocoa-touch objective-c uitabbaritem uitabbar
通常在a的每个选项卡上UITabBar都有一个小图像和一个命名选项卡的标题.图像位于标签顶部/居中,以容纳下方的标题.我的问题是:如果你想让tabBar只有一个图像而没有标题,那么有一种方法可以将图像向下移动,使其在标签内更好地居中吗?
我目前正在使用(见下文):
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
Run Code Online (Sandbox Code Playgroud)
但是我更喜欢使用没有标题的较大图像,此时如果我使图像大于约70像素@ 2x它开始从顶部开始边缘,UITabBar同时在底部留下大量未使用的空间.
Luk*_*cka 173
尝试调整tabBarItem的imageInsets(用于移动图标图像)和设定控制器标题为nil(因此没有显示标题).在视图控制器中放置这样的东西-init或-viewDidLoad方法:
Objective-C的
self.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
self.title = nil;
Run Code Online (Sandbox Code Playgroud)
迅速
self.tabBarItem.imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0)
self.title = nil
Run Code Online (Sandbox Code Playgroud)
UITabBarItem是一个UIBarItem具有UIEdgeInsets imageInsets属性的子类.使用插图播放一点,直到它看起来很好(取决于您的tabbar图标图像)
Bri*_*ian 48
创建一个子类UITabBarController,并在其中viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.viewControllers enumerateObjectsUsingBlock:^(UIViewController *vc, NSUInteger idx, BOOL *stop) {
vc.tabBarItem.title = nil;
vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
}];
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
for vc in self.viewControllers! {
vc.tabBarItem.title = nil
vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0)
}
Run Code Online (Sandbox Code Playgroud)
如果你正在使用Xamarin,这有效:
screen.TabBarItem.ImageInsets = new UIEdgeInsets(5, 0, -5, 0);
screen.TabBarItem.Title = "";
Run Code Online (Sandbox Code Playgroud)
这对我有用
斯威夫特4
let array = tabBarController?.customizableViewControllers
for controller in array! {
controller.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44441 次 |
| 最近记录: |