Сложность отображения представлений вкладок в iOS iPhone - PullRequest
0 голосов
/ 16 июня 2011

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

betaAppDelegate* delegate = (betaAppDelegate*)[[UIApplication sharedApplication]delegate];
acquireData *ac_view = (acquireData*)[[acquireData alloc] init];
[delegate.window addSubview:ac_view.view];

[self.view removeFromSuperview];
[self dealloc];

Вид вкладки - ac_view.view. Когда я запускаю приложение в симуляторе, вместо того, чтобы отображать мой вид вкладок с тремя вкладками, он отображает белый экран с тонкой черной полосой (док-станция с пустыми вкладками) внизу. Обнадеживает, по крайней мере, что-то увидеть! Но я некоторое время безуспешно пытался заставить его отображать свои вкладки. Файл .xib выглядит правильно. Он имеет три вкладки внизу, и каждая из трех вкладок говорит в конструкторе интерфейсов, что они загружены из xxxxxxx, поэтому связь выглядит корректно ...

Спасибо!

1 Ответ

0 голосов
/ 16 июня 2011

Я собираюсь предположить, что вы используете UITabBarController.

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

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

Это будет программнопуть и перейдет в ваш делегат приложения

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
UITabBarController * aTabBarController = [[UITabBarController alloc] init];
NSArray * array = [[NSArray alloc] initWithObjects:controller1, controller2, controller3, nil];
[aTabBarController setViewControllers:array animated:NO];
[array release];

self.window.rootViewController = aTabBarController;
[self.window makeKeyAndVisible];
[aTabBarController release];
return YES;
}

Затем вы увидите панель вкладок с тремя вкладками, которые соответствуют контроллерам 1, 2 и 3 (вашим контроллерам пользовательского представления)

Чтобы установитьзначок, текст и прочее - это так же просто, как читать документацию и видеть

Элементы панели вкладок настраиваются через соответствующий контроллер представления.Чтобы связать элемент панели вкладок с контроллером представления, создайте новый экземпляр класса UITabBarItem, настройте его соответствующим образом для контроллера представления и назначьте его свойству tabBarItem контроллера представления.

Просто окончательный вариантпредупреждающее слово в Задаче C, вы никогда не должны называть dealloc самостоятельно.Dealloc вызывается системой, когда количество сохраняемых объектов достигает 0. Узнайте, как сохранить и освободить объекты, чтобы понять, как все это работает.

Удачи

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