2010-01-08 2 views
0

Есть ли способ загрузить изображение по тексту без его просмотра? Мне нужно получить доступ к методам в модульном контроллере просмотра, который, в свою очередь, устанавливает свойства компонентов пользовательского интерфейса в XIB. Я хочу установить эти свойства, но я не хочу сразу видеть это представление. Я хочу показать это, когда пользователь поворачивает телефон.какао iphone load модальный вид без его просмотра

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

Спасибо, Howie

ответ

1

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

MainController   UIViewController 
->UIview    UIView 

ModalController  UIViewController 
->ModalControllerView UIView 

в MainController.h, создать выход для контроллера представления:

@property(nonatomic, retain) IBOutlet ModalController *ModalController 

(и, конечно, нужен ivar и также включите)

В Interface Builder подключите mainController ModalController к представлению ModalController с помощью перетаскивания параметров или, тем не менее, хотите.

Когда нагрузочный нагрузок загружается, вы получите modalController, установленный в экземпляр ModalController, тогда методы в MainController могут получить доступ к modalController и делать все, что им захочется. Тогда вам просто нужно использовать presentModalView, чтобы представить его.

Я думаю, что более типичный способ сделать это, однако, заключается в следующем:

- (IBAction)showInfo {  

    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil]; 
    controller.delegate = self; 

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    [self presentModalViewController:controller animated:YES]; 

    [controller release]; 
} 

(Это непосредственно из шаблона проекта Полезность приложений в Xcode.)

Другими словами, создать модальное контроллер и просмотр в собственном файле nib, затем загрузите файл nib вручную по мере необходимости. Это более эффективно с точки зрения памяти, поскольку оно не создает экземпляр объекта, пока он не понадобится.

Там также нет причин, почему вы не можете просто сделать:

modalController = [[ModalViewController alloc] initWithNibName:@"ModalView" bundle:nil]; 

в методе или что-то MainController в viewDidLoad или initWithCoder, а затем приступить к настройке его же вы хотите.

+0

Прохладный спасибо! Я ценю это. – Ward

0

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

(void)insertSubview:(UIView *)view atIndex:(NSInteger)index 

тогда, когда устройство вращается, переключить точку?

+0

Это звучит как интересное решение, но я пытаюсь сделать это с помощью модального вида, поэтому я не уверен, что это сработает. Не так ли? – Ward

Смежные вопросы