Выполнять loadView for iPhone только в универсальном приложении
В настоящее время я портирую приложение iPhone на приложение iPad. Теперь на нескольких экранах приложения для iPhone весь пользовательский интерфейс выполняется с помощью кода на языке Visual Format Language. Теперь в iPad, поскольку пользовательский интерфейс отличается, я могу просто сделать это через Interface Builder. Теперь, как я могу выполнить приложение loadView только для iPhone, а не для iPad?
Я попробовал ниже вариант
#define IS_IPHONE UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone
#ifndef IS_IPHONE
- (void)loadView
{
self.myView = [[MyCustomView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.view = self.myView;
}
#endif
- (void)viewDidLoad
{
// my other code
}
Но для iPhone loadView не вызывают. Непосредственно метод viewDidLoad выполняется.
Может кто-нибудь сказать мне, как я могу добиться этого? Заранее спасибо.
1 ответ
Вы можете сделать что-то вроде этого:
#define IS_IPHONE UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone
- (void)loadView {
if (IS_IPHONE)
{
self.myView = [[MyCustomView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.view = self.myView;
}
else {
//other code
}
}