动态更改UIScrollView的框架?

时间:2011-12-22 17:35:49

标签: iphone objective-c xcode ipad uiview

我的应用中有自定义的UIScrollView。当用户触摸滚动视图时,我希望它放大以填满整个屏幕。

我尝试过使用此代码,但没有任何反应:

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

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

}

有没有办法动态更改视图的大小?还有可能以某种方式动画大小的变化吗?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您的代码看起来是正确的。也许您的视图被剪切在父视图中,使其看起来好像没有调整大小,在这种情况下,您应该注意父视图的clipsToBounds属性。其他一些注意事项(不知道是什么让你认为它不起作用)是UIScrollView的contentMode属性。根据该值,您的UIScrollView可能不会重绘自身。有关详细信息,请参阅UIView(阅读frame属性)

动画示例:

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

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

}];

有关动画的详细信息:UIView(阅读animateWithDuration:animations:类方法)。