Переместить UITabBar в верхнюю часть UITabBarController? - PullRequest
2 голосов
/ 09 июля 2011

Я только что закончил разработку приложения, которое использует верхнюю панель, которая переключается между тремя UIViewControllers. Моей первой мыслью было использовать UITabBarController, поскольку он работает очень симулировано.

Однако tabBar внизу, а в моем PSD - вверху. Есть ли в любом случае, я могу изменить это? Я вижу в библиотеке, что могу перетащить UITabBar, но я не знаю, как заставить его менять страницы оттуда.

Пожалуйста, помогите! Колтон

Ответы [ 2 ]

12 голосов
/ 17 октября 2011

Надеюсь, что приведенный ниже код поможет

UITabBarController *tabC = [[UITabBarController alloc]init];
    tabC.tabBar.frame = CGRectMake(0, 0, 320, 70);

    NSArray *arr = [[NSArray alloc]initWithObjects:firstObj,secObj, nil];

    tabC.viewControllers = arr;

    [self.window addSubview:tabC.view];

Отлично сработало для меня

4 голосов
/ 09 июля 2011

Я думаю, что это можно сделать, но вы должны знать о this :

". Важно: В iPhone OS 3.0 и более поздних версиях не следует пытаться использоватьметоды и свойства этого класса для изменения панели вкладок, когда она связана с объектом контроллера панели вкладок. Изменение таким образом панели вкладок приводит к возникновению исключения. Вместо этого должны происходить любые изменения панели вкладок или ее элементов.через интерфейс контроллера панели вкладок. Вы все равно можете напрямую изменить объект панели вкладок, который не связан с контроллером панели вкладок.), создайте экземпляр объекта UITabBar (выбрав его в библиотеке IB и перетащив в свой вид в IB).Выберите положение по умолчанию, а также определите способ автоматического изменения размера панели вкладок (используя панель размера информационного окна).Затем добавьте розетку в контроллер представления типа UITabBar и, наконец, подключите объект панели вкладок к выходу панели вкладок.

Как только вы это сделаете, в методе viewDidLoad контроллера представления вы можетенастроить любое свойство панели вкладок, которое вы хотите.

...