2015-10-03 4 views
0

У меня есть подкласс UIImageView (в быстрой), поэтому я могу получить доступ к касаниямBegan/touchhesMoved/touchesEnded.IOS: Каков правильный способ изменить представление из класса другого представления?

Когда вызывается один из этих методов, мне нужно изменить свойство другого загруженного представления.

Мне кажется, что теперь мне нужно получить доступ к контроллеру активного представления, чтобы установить свойства этого другого вида. Есть ли лучший способ сделать это (например, методы событий, вызванные в контроллере представления)?

Заметьте, что я новичок в iOS, и я еще не знаком с системой событий, так как большая часть информации, которую я нашел, написана в Objective C, а не в Swift. (Не волнуйтесь, я просматриваю документацию от Apple.)

Кроме того, нет, я не могу изменить UIImageView на номер UIButton. Даже если я перешел на UIButton, мне нужен доступ к отдельным touchesBegan и т. Д. Методам, и такая же проблема сохранится.

ответ

1

Если я вас правильно понимаю, вам необходимо указать UIViewController от UIImageVIew, чтобы нажать/представить новый UIViewController. У вас есть несколько вариантов:

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

  2. Создайте делегата на изображении, которое запускает селектор на контроллере представления.

  3. Удерживайте ссылку на контроллер вида на изображении и вытащите новый контроллер вида из изображения с этой ссылкой.

  4. Модифицируйте новый контроллер вида в окне приложения rootViewController.

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