2010-03-25 4 views
1

Я использую CATiledLayer как содержание UIScrollView, но, кажется, я не могу получить правильный (иногда) [Scrollview contentSize] и [Scrollview contentOffset] от метода делегата CATiledLayer в:UIScrollView и CATiledLayer

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 

Я знаю, CATiledLayer использует этот метод для рендеринга плитки в фоновом потоке. И мне нужно использовать contentSize и contentOffset для вычисления некоторых данных (некоторые координаты). Приложение отлично работало на симуляторе, но на устройстве оно иногда попадало неправильно contentSize и contentOffset

+0

Как далеко находятся значения contentSize/Offset на устройстве? Вопрос округления или целые единицы? Не могли бы вы передать contentSize, который, как вы знаете, верны делегату, содержащему drawLayer: inContext: method? Он не должен меняться, пока вы прокручиваете/масштабируете, иначе ваши плитки нуждаются в перерисовке. - это, конечно, не ответ на ваш вопрос. – epologee

+0

Ничего себе этот вопрос один год. Наверное, ты уже понял это. Приветствия. – epologee

ответ

0

CATiledLayer не вычисляет эти значения для вас, вы должны установить их.

Обратите внимание, что для размера плитки не применяется contentScale. Так что на Retina отдельные плитки наполовину полны, как вы указываете.

Если вы все еще хотите получить ответ на это, вам нужно прояснить вопрос.

Смежные вопросы