Ну, вы можете сделать это с помощью
- сохранить UILabel
- удалить его из своего суперпредставления
- добавить его в другое представление
- отпустите его
Вам потребуется доступ к ShowViewController
из SoundViewController
.Поэтому вам придется определить связь между двумя представлениями (скорее всего, через IBOutlet или сохраненное свойство).
Я не уверен, какая переменная в приведенном выше коде является вашей UILabel, поэтому замените 'sender'с правильным ivar (mainLabel
, может быть?):
[sender retain];
[sender removeFromSuperview];
[showViewController.view addSubview:sender];
[sender release];
Edit:
Для пояснения, переменная в приведенном выше коде «sender» - это объект, который вызвал этот метод.Все, что вы подключили к IBAction в перо.В этом случае это, вероятно, будет UIButton.Вероятно, вам придется добавить IBOutlet для вашей UILabel и прикрепить его к правильному UILabel в вашем nib-файле и использовать этот IBOutlet вместо «sender».
Вероятно, вам следует прочитать иерархию представления и контроллеры представления,То, что вы пытаетесь сделать, удивительно легко, и существует около десятка способов сделать это, но вы должны сначала понять, как правильно структурировать свое приложение.Наиболее очевидная проблема заключается в том, что два контроллера представления должны иметь ссылку друг на друга, чтобы передавать представления назад и вперед.Я не могу отправить представление другому представлению, если я не знаю, где это другое представление.Представления могут быть связаны в IB, в коде при их создании и т. Д.
view
является свойством UIViewController
.Предполагая, что ваш ShowViewController
является подклассом UIViewController
, он будет иметь свойство view
.Возможно, ваш ivav showViewController неправильно напечатан?(если тип, например, id
, он будет выдавать предупреждение при попытке доступа к его свойству view
).