как мне убедиться, что пользовательский UIView правильно переставлен после изменения ориентации iPhone - PullRequest
0 голосов
/ 13 июля 2011

как мне убедиться, что пользовательский UIView правильно переставлен после изменения ориентации iPhone?

Фон

  • В качестве родительского представления у меня есть UIViewController с XIB
  • У меня есть пользовательский UIView, который используется в этом родительском элементе (вставляется в XIB через Interface Builder). Он программно в init создает некоторые UIImageView и добавляет их через «self addSubview», а затем позиционирует их через подход «self addSubview: imageView1»

Таким образом, вопрос заключается в том, как мне обеспечить правильное расположение этих элементов при изменении ориентации. В частности:

  1. Где я могу вызвать любую такую ​​перерисовку пользовательского UIView? (например, есть ли метод в родительском UIViewController, который я должен использовать для запуска?)

  2. Когда срабатывает триггер, как запросить перерисовку пользовательского UIView? Нужен ли мне собственный метод, который я создаю сам, как "relayoutCustomView"? или я должен иметь возможность использовать существующий метод в пользовательском UIView, и в этом случае мне нужно убедиться, что в пользовательском UIView мой код макета находится в определенном методе?

спасибо

1 Ответ

0 голосов
/ 13 июля 2011

как это для ответа - кажется, начинает работать, не уверен, что это лучший способ:

  1. выделите код компоновки в моем пользовательском представлении, добавьте отдельный метод и сделайте его общедоступным
  2. этот метод будет вызываться из метода init "пользовательского представления" при настройке
  3. также теперь, однако, создайте метод didRotateFromInterfaceOrientation в родительском объекте, и изнутри здесь также вызовите новый метод макета пользовательского представления, упомянутый в [1]
  4. отметил, что это должен быть "didRotateFromInterfaceOrientation", так как с методом "didRotateFromInterfaceOrientation" он не работал, так как результат self.bounds еще не изменился

Как это звучит? Я нигде не использовал setNeedsDisplay ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...