2010-08-04 3 views
0

У меня есть приложение с панелью навигации наверху. С одной точки зрения, что является подкласс UITableView, добавить UIToolbar под UITableView со следующим кодом:Помощь Устранение UIViewController с UIToolbar

UIToolbar *toolbar = [[UIToolbar alloc] init]; 
[toolbar sizeToFit]; // Set the toolbar to fit the width of the app 
CGFloat toolbarHeight = [toolbar frame].size.height; // Calculate the height of the toolbar 
CGRect rootViewBounds = self.parentViewController.view.bounds; 
CGFloat rootViewHeight = CGRectGetHeight(rootViewBounds); 
CGFloat rootViewWidth = CGRectGetWidth(rootViewBounds); 
CGRect rectArea = CGRectMake(0, toolbarHeight, rootViewWidth, toolbarHeight); 
[toolbar setFrame:rectArea]; 
[self.navigationController.view addSubview:toolbar]; 

Проблема заключается в том, что панель инструментов «поверх» в UITableView и маскирует поверх содержимое первой строки в UITableView. Я действительно хочу, чтобы табличное представление «начиналось» под UIToolbar.

Как я могу сделать эту работу надлежащим образом?

Грэкиас, Хосе

ответ

0

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

Другой вариант, если вы хотите, чтобы панель инструментов прокручивалась вместе с другим содержимым таблицы, должна сделать заголовок таблицы на панели инструментов.

0

На мой взгляд, инициализирует новую панель инструментов просто неправильный путь.

Просто используйте этот простой код, так как у вас уже есть UINavigationController.

- (void)viewDidLoad { 
    self.navigationController.toolbar.hidden = NO; 
} 

Прошу прощения за неправильный код. Попробуйте это вместо этого!

- (void)viewDidLoad { 
    self.navigationController.toolbarHidden = NO; 
} 
+0

Хм. Это ничего не делало в 'viewDidLoad', но если я привяжу этот код к кнопке, то он действительно работает. Почему это должно быть? –

+0

Привет, я обновил код. Извините за неправильный код. :) – nonamelive

Смежные вопросы