【问题标题】:Change Frame of UIScrollView Dynamically?动态更改 UIScrollView 的框架?
【发布时间】:2012-01-26 07:45:18
【问题描述】:

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

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

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

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

}

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

提前谢谢你。

【问题讨论】:

    标签: iphone objective-c xcode ipad uiview


    【解决方案1】:

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

    动画示例:

    [UIView animateWithDuration:<some float value in seconds> animations:^{
    
        self.frame = CGRectMake(0, 0, 768, 1024);
    
    }];
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      相关资源
      最近更新 更多