WebView отображает в неправильном месте в моем ScreenSaverView - PullRequest
0 голосов
/ 12 декабря 2008

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

Пример (из превью):

ошибка заставки http://img.skitch.com/20081212-nk5cqrgfds1funr1a3p72aw25q.preview.jpg
Загружен с plasq Skitch !

Мой код довольно прост. Изнутри initWithFrame:isPreview: у меня есть следующий код:

webview = [[WebView alloc] initWithFrame:frame
                           frameName:@"main"
                           groupName:@"main"];
[self addSubview:webview];

Кто-нибудь знает, что происходит?

Если кто-то захочет поиграть с проектом, код на github.

Ответы [ 2 ]

1 голос
/ 13 декабря 2008

Я посмотрел на ваш код, и вы используете прямоугольник фрейма superview (WebSaverView) в качестве фрейма WebView. Вместо этого вы должны использовать его ограничивающий прямоугольник ([self bounds]). Ограничительный прямоугольник представляет область «внутри» суперпредставления. Как вы уже видели, они не всегда имеют одинаковое происхождение, что является причиной этой проблемы. Вы не должны корректировать кадр, который вы передаете в initWithFrame:, так как у источника, вероятно, есть очень веская причина не быть 0,0.

1 голос
/ 13 декабря 2008

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

Вы должны сделать изображение таким же большим, как -bounds суперпредставления, если я правильно понимаю, что вы хотите сделать: обычно прямоугольник от (0,0) до (ширина, высота).

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