2010-10-13 3 views
0

Я пытаюсь реализовать пользовательский UIView, который по какой-то причине имитирует поведение UIScrollView. И вопрос в том, как я могу показать правильную часть содержимого, представленную свойством contentOffset?Реализация пользовательского UIScrollView

Я проанализировал UIScrollView и обнаружил, что он не принимает никаких промежуточных подслоев или манипулирует границами и преобразует свойства для применения смещения. Я переопределен drawRect: метод, UIView`` как следует, но это не сработало:

- (void)drawRect: (CGRect)rect { 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextTranslateCTM(context, -content_offset_.x, -content_offset_.y); 
} 

Так что мой вопрос, как же UIScrollView показать правильную часть его содержания? Должен ли я переопределить метод отображения слоя, иначе? Мы ценим любые предложения! И, пожалуйста, не спрашивайте: «Почему вы хотите сделать что-то подобное в первую очередь?» : D

Спасибо!

ответ

1

UIScrollView изменяет свои границы (он перемещает начало координат).

-drawRect: призван нарисовать содержимое вашего слоя и не влияет на подслои. Вы ничего не рисуете.

Я бы просто использовал UIScrollView. Что вы делаете, что UIScrollView нет?

+0

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

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