Высота UITabBar в iOS 5

С новыми API настройки в iOS 5, возможно ли увеличить высоту UITabBar? Если нет, какие есть варианты с открытым исходным кодом, если я хочу ориентироваться на iOS 5? Спасибо

5 ответов

Решение

Я бы предложил BCTabBarController. Я использовал его в одном из своих проектов, и он прекрасно работает. Вы все равно должны настроить его, хотя.

Мой способ настройки панели вкладок UITabBarController состоит в том, чтобы сначала настроить сам UITabBarController.

UITabBarcontroller имеет два подпредставления внутри. UITransitionView и UITabBar. UITransitionView - это область в верхней половине экрана, в которую вы помещаете свои контроллеры представления.

Чтобы настроить высоту панели UITabbar, вам также необходимо отредактировать фрейм UITransitionView. Так, например, если вы хотите изменить высоту, вы можете сделать;

[[tabbarController.view.subviews objectAtIndex:0] setFrame:CGRectMake(0, 0, 320, 440)];
[tabbarController.tabBar setFrame:CGRectMake(0, 440, 320, 50)];

Это создаст панель вкладок высотой 50 пикселей (по умолчанию это 48 пикселей).

Вы можете написать категорию UItabbar

вот код:

.h файл:

#import <UIKit/UIKit.h>

@interface UITabBar (NewSize)
- (CGSize)sizeThatFits:(CGSize)size;
@end

.m файл:

#import "UITabBar+NewSize.h"

@implementation UITabBar (NewSize)
- (CGSize)sizeThatFits:(CGSize)size {
    CGSize newSize = CGSizeMake(size.width,44);
    return newSize;
}
@end

а потом

#import "UITabBar+NewSize.h"

self.tabBarController = [[UITabBarController alloc] init];
[self.tabBarController.tabBar sizeThatFits:CGSizeMake(320, 44)];
self.tabBarController.tabBar.shadowImage = [[UIImage alloc]init];  //delete the default tabbar shadow!

Вы не можете сделать это с UITabBar, Я хотел бы предложить вам создать свой собственный UIToolBarи сделать его похожим на tabBar, и вы можете добавить UIButtons к нему и заставить их выглядеть как tabBarItems,

Это будет выглядеть как tabBar и дает вам много места для настроек, вы также можете добавить к нему более 5 вкладок и реализовать анимацию "прокрутки" между кнопками.:)

Это невозможно с прокси UIAppearance

Я бы порекомендовал сделать это, используя методологию контейнера ViewController в UIViewController (он находится в разделе "Реализация контроллера представления контейнера"). Документы Apple в основном рассказывают вам, как создавать свои собственные.

Другие вопросы по тегам