我的应用中有自定义的UIScrollView。当用户触摸滚动视图时,我希望它放大以填满整个屏幕。
我尝试过使用此代码,但没有任何反应:
-(void) touchesBegan: (NSSet *) touches withEvent:(UIEvent *) event {
NSLog(@"Touch Detected");
self.frame = CGRectMake(0, 0, 768, 1024);
}
有没有办法动态更改视图的大小?还有可能以某种方式动画大小的变化吗?
提前谢谢。
答案 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:
类方法)。