UIApplicationDelegate в интерфейсе Builder с Xcode 4.2

Мое приложение – это приложение на основе представления. Мне нужно создать UINavigationController как мой rootViewController .

В прежней версии Xcode был файл mainWindow именем mainWindow в котором мы могли:

  • Подключите нашу реализацию UIApplicationDelegate к UIApplication delegate UIApplication
  • Подключите UIWindow к UIApplicationDelegate
  • Подключите UIViewController к UIViewController UIWindow .

Но теперь (Xcode 4.2) не создает этот xib-файл!

Итак, как я могу создать пользовательский UINavigationController и подключить его к моей реализации UIApplicationDelegate в InterfaceBuilder?

Вот мой код в моей реализации UIApplicationDelegate :

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { SDWebImageRootViewController *root = [[SDWebImageRootViewController alloc] initWithNibName:nil bundle:nil]; _navigationController = [[[UINavigationController alloc] initWithRootViewController:root] autorelease]; self.window.rootViewController = _navigationController; [[_navigationController navigationBar] setBarStyle:UIBarStyleBlack]; [[_navigationController navigationBar] setTranslucent:YES]; [_window addSubview:[_navigationController view]]; } 

One Solution collect form web for “UIApplicationDelegate в интерфейсе Builder с Xcode 4.2”

Прежде всего, да, вы все еще можете использовать IB для этого даже в последней версии Xcode, поэтому я не уверен, откуда вы это взяли.

Если вы хотите знать, как указать делегата приложения без IB, это довольно просто:

В своем main методе просто используйте имя класса делегата приложения как 4-й параметр для UIApplicationMain :

 int main(int argc, char *argv[]) { @autoreleasepool { int retVal = UIApplicationMain(argc, argv, nil, @"APPLICATION_DELEGATE_CLASS_NAME"); return retVal; } } 

Фактически, Xcode 4.2 делает это для вас по умолчанию при создании приложения на основе представления из шаблона (хотя он не использует статическую строку … что, вероятно, лучше, чем мое предложение, честно, потому что он будет получать рефакторинг, если вы использовать встроенный рефакторинг и т. д.):

NSStringFromClass([AppDelegate class])

Чтобы ответить на ваш следующий вопрос: ok , then what should I do ? to connect the UINC outlet in interface ? ok , then what should I do ? to connect the UINC outlet in interface ?

Не беспокойтесь.

Все еще не верю мне? Отлично … вот учебник … это ПЯТНАДЦАТЫЕ шаги! … и совершенно бессмысленно.

Сначала создайте приложение:

введите описание изображения здесь

Откройте main.m и замените четвертый параметр на nil :

введите описание изображения здесь

Создайте новый xib или захватите существующий (который я собираюсь сделать здесь) и создайте класс владельца файла UIApplication .

введите описание изображения здесь

Затем добавьте Object из панели инструментов и измените класс на подкласс UIApplicationDelegate :

введите описание изображения здесь

Теперь вернитесь к Владельцу Файла и подключите выход delegate к UIApplicationDelegate . Удалите ссылку на view если вы делаете то, что я сделал, и захватили существующий xib.

введите описание изображения здесь

Теперь добавьте UIWindow из панели инструментов.

введите описание изображения здесь

Теперь добавьте 'UIViewController from the toolbox. This is your custom from the toolbox. This is your custom UIViewController . If you want a . If you want a UINavigationController or UITableViewController просто добавляли это вместо этого.

введите описание изображения здесь

Если вы используете пользовательский класс UIViewController , укажите здесь класс:

введите описание изображения здесь

Подключите выход rootViewController UIWindow к вашему UIViewController :

введите описание изображения здесь

Crack откройте интерфейс UIApplicationDelegate и создайте или измените свойство window чтобы сделать его IBOutlet .

введите описание изображения здесь

Переключитесь на реализацию и удалите любой «бесполезный» код, который настраивает ваш контроллер окон и корневого представления. (Я здесь саркастически … этот краткий код делает все, что мы делаем здесь … просто программно, а не через IB).

введите описание изображения здесь

Вернитесь к своему xib и подключите UIApplicationDelegate розетку UIApplicationDelegate .

введите описание изображения здесь

Теперь, в информации о развертывании вашей цели, установите xib как «Основной интерфейс»:

введите описание изображения здесь

Сделано … пси!

  • iOS Как проверить, действительно ли на телефоне
  • Классы, импортированные в .pch-файл в xcode, не работают, почему?
  • Downcast / Upcast a Контроллер просмотра с раскадровки
  • Можно ли определить номер телефона устройства в iOS?
  • встроить навигационный контроллер
  • Создание модального вида с помощью панели навигации и кнопки возврата
  • Изображение программного обеспечения Xcode для iOS пользователя, чтобы символизировать вызовы iOS
  • Преобразование обучаемой модели классификации изображений Keras в coreml и интеграцию в iOS11
  • Приложение заморожено UIKit после обновления до Xcode 7
  • Чтение элементов UITableView
  • UIImageView заполняет UIView
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.