Изменить фрейм UIScrollView динамически? - PullRequest
2 голосов
/ 22 декабря 2011

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

Я пытался использовать этот код, однако ничего не происходит:

-(void) touchesBegan: (NSSet *) touches withEvent:(UIEvent *) event {

NSLog(@"Touch Detected");
self.frame = CGRectMake(0, 0, 768, 1024);

}

Есть ли способ динамическиизменить размер вида?Также возможно ли как-то оживить изменение размера?

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

1 Ответ

2 голосов
/ 22 декабря 2011

Ваш код выглядит правильно. Возможно, ваше представление обрезано в родительском представлении, и это выглядит так, как будто оно не изменило размер, и в этом случае вы должны помнить о свойстве clipsToBounds родительского представления. Некоторые другие соображения (не зная, что заставляет вас думать, что это не работает) - это свойство contentMode вашего UIScrollView. В зависимости от этого значения ваш UIScrollView может не перерисовываться сам. Подробности см. UIView (см. Свойство frame)

Пример анимации:

[UIView animateWithDuration:<some float value in seconds> animations:^{

    self.frame = CGRectMake(0, 0, 768, 1024);

}];

Подробности по animate: UIView (читать animateWithDuration:animations: метод класса).

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