Я хотел был бы использовать ту же функциональность addChildViewController, но для версии 4.3 (addChildViewController доступен только в версии 5). Спасибо заранее.addChildViewController alternative for iOS 4.3
ответ
Хотя это не рекомендуется, вы можете создать экземпляр UIViewController
доступа это view
свойства и установить его в качестве подвида основного view
вашего главного UIViewController
является управляющим. Он работает, и я никогда не испытывал проблем с этим.
Это означает, что рекомендуется использовать подкласс класса NSObject
, а не использовать UIViewController
, поскольку он имеет особое поведение.
Нечто похожее описано в iOS: different addSubview behavior between iOS 4.3 and 5.0.
Я решил его, добавив следующие строки:
NSMutableArray *controladores=[[NSMutableArray alloc]init];
[controladores addObject:myController];
if ([[[UIDevice currentDevice] systemVersion] compare:@"5.0"] == NSOrderedAscending) {
[tabBar setViewControllers:controladores animated:YES];
}
Я бы предложил против проверки версии ОС путем доступа свойство 'systemVersion'. Вместо этого вы должны проверить наличие селектора 'setViewControllers:', выполнив что-то вроде: 'if ([tabBar отвечаетSoSelector: @selector (setViewControllers :))). – pgb
Спасибо! Это лучшая идея! –
Я предполагаю, что причина вы хотите сделать это для приложения Ipad, как и Apple, состояние, что один-контроллер должен «вообще» (и до IPad они заявили «всегда») контролируют весь экран, полный представлений.
Это действительно изменилось с помощью дополнительной экранной недвижимости ipad, когда Apple выпустила собственный контроллер контейнера (splitViewController), который в конечном итоге привел к созданию Apple, позволяя нам создавать собственные контроллеры контейнеров в ios5.
Если ваше приложение является приложением для iphone, то я (и Apple) серьезно поставил под сомнение вашу потребность в сдерживании контроллера вида.
- 1. Testflight Alternative for Production
- 2. Чтобы вызвать addChildViewController или не вызвать addChildViewController
- 3. SQL For-each Loop Alternative
- 4. For-Each Loop Alternative - Уточнение
- 5. IOS addChildViewController с AdMob [iPhone, Objective C]
- 6. Ошибка подключения 4.3 ios
- 7. addChildViewController и presentViewController
- 8. iOS 5, SpringBoard, SBCallAlert Alternative
- 9. Широта Долгота IOS 4.3
- 10. Xcode 4.3/iOS 5.1
- 11. xcode5 для iOS 4.3
- 12. jquery alternative for ajax modal popup extender
- 13. addChildViewController не подходит UIViewController
- 14. addChildViewController и удалить его
- 15. addChildViewController и автозапуск подзаголовков
- 16. IOS 4,3 Пользовательские Container Программирование
- 17. iOS 4.3 extractIdentityAndTrust ошибка связывания
- 18. Поддерживает ли iOS 4.3 ARC
- 19. Хкод 4.0.2/iOS SDK 4.3
- 20. uiprogressview ProgressTintColor в iOS 4.3
- 21. Отладка на симуляторе iOS 4.3
- 22. Smartface 4.3 ios горизонтальная ориентация
- 23. MoPub Alternative
- 24. 3d Touch Alternative in Ios App
- 25. Как использовать addChildViewController в subview
- 26. iOS7 UITextView contentize.height alternative
- 27. Внешний вид вкладки в ios 4.3
- 28. Интеграция с Twitter для IOS 4.3
- 29. iOS 5 MapKit, MKPlacemark, приложение iOS 4.3 на iOS 5
- 30. iOS 4.3 сбой при загрузке видео
В дополнение к этому вы можете отслеживать добавленные контроллеры представлений, ссылаясь на них из сохраненного NSArray (полный init) или добавляя их в сохраненный NSMutableArray (lazy init) – shawnwall