#iphone
#iPhone
Вопрос:
Я создал ViewControllers ABC и XYZ. XYZ наследует от ABC. В AppDelegate я добавляю XYZ.view в качестве подвида.
Теперь одним нажатием кнопки в XYZ я хочу отобразить ABC.view на небольшой части экрана. Я пробовал некоторые комбинации из следующих, но ничего не работает.
- [self.view выводит subviewtofront:super.view];
- [AppDelegate.window выводит subviewtofront:super.view];
- [self.view добавляет subview:super.view];
- [AppDelegate.window вставляет subview:self.view по индексу:0];
- [AppDelegate.window вставляет subview:super.view над subview:self.view];
- [super.view setNeedsDisplayInRect:CGRectMake(0, 0, 320, 320)];
Ответ №1:
Super — это ключевое слово, которое используется только для вызова реализации определенного метода суперкласса. Это не относится к фактическому экземпляру класса. Если вы хотите создать и отобразить viewcontroller, вам нужно выделить и инициализировать его экземпляр, а затем представить его так же, как вы это сделали с помощью XYZ.
Комментарии:
1. Исходя из вашего предложения добавить ABC в качестве подвида XYZ, тогда каков будет наилучший подход для передачи данных из ABC в XYZ. Я знаю несколько способов, но не знаю, какой из них хороший!
2. На самом деле это отдельный вопрос, но просто используйте свойства. Если вы пытаетесь сделать что-то сложное, отправьте новый вопрос (после того, как вы провели некоторое исследование :))