свойство изменения границ UIView не влияет на его содержимое - PullRequest
6 голосов
/ 25 января 2009

Я новичок в программировании на iPhone и пытаюсь понять, как работают свойства рамки и границ. В Интерфейсном конструкторе я создал UIView, куда я положил UIImageView как ребенка. Я сделал UIImageView больше, чем родительское представление. и установите для свойства clip subview значение true для родительского UIView и значение false для дочернего UIImageView.
При изменении frame.origin свойства ребенка UIImageView программно. но когда я изменяю bounds.origin свойство родителя UIView, я ничего не вижу. Вероятно, я неправильно понимаю цель bounds.

Что мне нужно сделать, чтобы поведение, описанное в руководстве по программированию приложений iPhone:

Вы можете изменить источник границ без изменения двух других свойств. Когда вы это сделаете, представление отобразит часть базового изображения, которое вы определили. На Рисунке 2-4 (стр. 56) исходный источник границ установлен на (0,0,0,0). На рисунке 2-5 это начало координат перемещено в (8.0, 24.0). В результате, другая часть базового изображения отображается представлением. Однако поскольку прямоугольник рамки не изменился, новый контент отображается в том же месте внутри родительского представления, что и раньше.

Заранее спасибо. Andrew

1 Ответ

1 голос
/ 25 января 2009

Прежде всего, убедитесь, что у вас есть правильная ссылка на изображение, прежде чем пытаться изменить его границы. Убедитесь, что это не nil.

Во-вторых, вам может понадобиться изменить прямоугольник, а затем снова установить его в отдельном выражении, например:

CGRect rect = imageView.bounds;
rect.origin = CGPointMake(whatever, whatever);
imageView.bounds = rect;

Границы могут даже не быть тем, что вы хотите. Я не знаю, откуда у вас эта цитата, но она звучит неправильно. Попробуйте использовать рамку представления изображения, чтобы расположить ее в суперпредставлении.

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