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 как «Основной интерфейс»:

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

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

  • Как реализовать main.swift в приложении iOS Xcode 6?
  • нажмите / щелкните действие вида Xcode
  • Странный конфликт @IBAction или ошибка? (Swift)
  • Область урожая отличается от выбранной области в iOS?
  • Изменить элемент панели вкладок выбранного цвета в раскадровке
  • Редактировать RTF / DOC файл программно в xcode / ios
  • Быстрая совместимость версий для библиотеки
  • Как найти места, где будет вызываться функция вместо инструмента поиска в xcode 4.3 lion
  • Ошибка проверки: пакет содержит запрещенные вложенные пакеты
  • Использовать iOS 10.3.3 с Xcode Version 8.2.1?
  • Загрузка представления из NIB, IBOutletCollection - это ноль, хотя другие IBOutlet работают нормально
  • Interesting Posts

    О программе UIRotationGestureRecognizer

    Как добавить текст оверлея на видео, а затем перекодировать его?

    Как сбросить NSTimer? быстрый код

    UIWebView – сбой при отключении контроллера модального представления во время выполнения запроса

    Как определить, находится ли GMSMarker внутри GMSPolygon (SDK карты Google iOS)

    Ошибка проверки архива Xcode: «Не найдено подходящих записей приложений».

    Передайте одну переменную из одного диспетчера представлений в другой диспетчер представлений

    получать уведомление о изменении часового пояса в iOS

    iOS: Приложения должны следовать за хранилищем данных iOS?

    IOS: Как загрузить файлы Документов Google с помощью ios google drive sdk API?

    UISearchController в UITableViewController-Rows не выбирается, а таблица видна серым цветом

    Как синхронизировать iCal iPhone Os и Google календарь?

    Ошибка при получении подтверждения покупки Inapp в Live

    Передача данных между табличными представлениями

    Ошибка объявления видео AdColony: не удалось создать удаленный контекст визуализации

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.