ScrollView смещается, когда superview установлен в кадре ?! (Iphone) - PullRequest
0 голосов
/ 22 июля 2011

Так что у меня есть представление и представление прокрутки внутри этого представления.Я называю

[View setFrame:CGRectMake(55,70,260,420)];

, я ставлю

NSLog(@"%f %f",scrollview.frame.origin.x, scrollview.frame.origin.y);

до и после setFrame, и он читает 6,112, а затем 6,172.112 правильно, я понятия не имею, откуда 60.Я искал 60 в моем файле реализации, и нет ничего, что могло бы повлиять на y вообще.Есть ли какое-то правило для выполнения setframe, когда есть представление внутри этого представления?

Спасибо

Ответы [ 2 ]

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

Я исправил это, создав прокрутку в моем коде вместо того, чтобы делать это через XIB. представление прокрутки создается после setFrame и addSubView родительского представления

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

Если взглянуть на ссылку UIView, свойство frame сообщает

frame

Прямоугольник рамки, который описывает расположение и размер представленияв системе координат своего суперпредставления.@property(nonatomic) CGRect frame

Обсуждение

Этот прямоугольник определяет размер и положение вида в системе координат его суперпредставления.Вы используете этот прямоугольник во время операций макета, чтобы измерить и расположить представление.Установка этого свойства изменяет точку, указанную свойством center, и размер в прямоугольнике границ соответственно.Координаты прямоугольника рамки всегда указываются в точках.

Так что, я думаю, когда вы NSLog рамку для просмотра прокрутки, она отображается на основе координат суперпредставления.Второй NSLog показывает другое, потому что система координат суперпредставления изменилась.

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