iPhone UIView границы - PullRequest
       4

iPhone UIView границы

0 голосов
/ 14 июля 2009

Я пытаюсь создать пользовательский UIView, который хранится в перо, чтобы я мог расположить его с помощью Interface Builder.

Я создал класс с именем RippleView, который расширяет UIView. Я хотел бы позиционировать это представление как подпредставление, используя Интерфейсный Разработчик. Для этого я перетащил новый вид в свой существующий вид в Интерфейсном Разработчике и присвоил ему идентификатор класса RippleView. Затем я связал свой выход RippleView с только что созданным видом.

В классе RippleView я реализовал initWithCoder, который не делает ничего, кроме вызова [super initWithCoder ...]. В awakeFromNib я продолжаю и инициализирую свой код.

Теперь, по какой-то причине, если я пытаюсь проверить границы RippleView в awakeFromNib, я получаю смешные значения (ширина 0 и высота 1081171968). Эти границы не меняются в drawRect, поэтому я не думаю, что проблема заключается в том, что представление не инициализируется. Я получаю аналогичные значения в моем обработчике событий touchesMoved.

У меня не было проблем при программном создании подпредставления (initWithFrame). Что может привести к тому, что границы кадра станут беспорядочными?

Ответы [ 2 ]

2 голосов
/ 27 октября 2009

Решено! Проблема не имеет ничего общего с кодом. Границы UIView являются числами с плавающей точкой, и я печатал их как целые числа. Именно такие вещи отделяют программистов от выбывших: p

0 голосов
/ 15 июля 2009

Можете ли вы опубликовать свою реализацию initWithCoder:? Если вы не устанавливаете значение self или неправильно написали initWithCoder :, вы можете увидеть такие проблемы. Вы пробовали установить точку останова в initWithCoder: чтобы она вызывалась?

...