После этого с issue так много часов без везения, я пытаюсь использовать другой подход, создавая представления программно в loadView UIViewController
. У меня есть UIToolbar
и UITableView
в моем UIViewController
, но у меня возникли проблемы с калибровкой при добавлении представления в качестве дополнительного представления UIView
. Вот что я получил до сих пор:Правильный размер представления UIViewController
В моей пользовательской UIViewController»loadView:
{
[super loadView];
//this doesn't seem right!?!?
self.view.frame = CGRectMake(0, 0, 400, 300);
//create the Tool Bar
self.toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 45.01)];
[self.toolbar setBarStyle:UIBarStyleDefault];
[self.toolbar setAutoresizesSubviews:TRUE];
[self.toolbar setAutoresizingMask:(UIViewAutoresizingFlexibleWidth)];
// create the array to hold the buttons, which then gets added to the toolbar
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:1];
//create buttons
UIBarButtonItem* bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:nil];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
//add buttons to the toolbar
[self.toolbar setItems:buttons animated:NO];
//add toolbar to the view
[self.view addSubview:self.toolbar];
//create UITableView
//a better way setting to set the frame!?!?
UITableView* listTable = [[UITableView alloc] initWithFrame:CGRectMake(0,
self.toolbar.bounds.size.height,
self.view.bounds.size.width,
self.view.bounds.size.height - self.toolbar.bounds.size.height)
style:UITableViewStylePlain];
[listTable setAutoresizesSubviews:TRUE];
[listTable setAutoresizingMask:(UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight)];
[listTable setDataSource:self];
[listTable setDelegate:self];
self.table = listTable;
[self.view addSubview:listTable];
}
В loadView RootViewController в():
{
[super loadView];
controller = [[CustomViewController alloc] init];
[self.customView addSubview:controller.view];
[controller.view setAutoresizesSubviews:TRUE];
}
Вы можете увидеть скриншот здесь: https://plus.google.com/u/0/photos/112841433450419935389/albums/5693241484889252817/5693241483569881554
Я новичок в этом, кроме как правильного выбора размера, я на правильном пути?
Большое спасибо.
Edit:
Я пытаюсь создать представление, как этот
- UIViewController
- UINavigationBar
- UIView < < на левой стороне, пользовательский UIViewController с UIToolbar и UITableView
- UIView < < справа, так же, как и выше
Это один близка к тому, что я пытаюсь сделать, за исключением того, что у меня будет два UITableView и нет сегментированные кнопок. https://plus.google.com/u/0/photos/112841433450419935389/albums/5693241484889252817/5693260341279558818
Винс, см. Редактирование выше. Я не могу использовать UINavigationController, потому что мне нужно два UITableView, и каждый из них будет иметь свою собственную панель инструментов. – Eric
@ Эрик, хорошо, из вашего редактирования Я вижу, что вы хотите разместить UIViewControllers внутри другого UIViewController, если только вы не используете iPad с помощью UISplitViewController, что может привести к неприятностям. Обычно это один UIViewController на экран. –