2011-12-22 77 views
2

我在我的应用程序中有一个自定义的UIScrollView。当用户触摸滚动视图时,我希望它放大以填充整个屏幕。动态更改UIScrollView的框架?

我已经使用这个代码试过了,但是什么也没有发生:

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

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

} 

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

预先感谢您。

回答

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:类的方法)。

+0

完美答案 - 谢谢。 – GuybrushThreepwood 2011-12-22 18:02:16