美文网首页
ios 无法更改UIView frame size解决办法

ios 无法更改UIView frame size解决办法

作者: PengPengPro | 来源:发表于2016-11-10 23:39 被阅读182次

    当storyboard使用了Auto Layout,想通过代码改变控件布局时,
    如果在viewDidLoad方法里去修改,是无效的。

    - (void)viewDidLoad {
        [super viewDidLoad];
        self.placeHolder.frame=CGRectMake(0,0,200,300);
    }
    

    因为storyboard里的控件布局是在viewDidAppear时执行的,应该这些去修改控件的布局:

    -(void)viewDidAppear:(BOOL)animated{
        [super viewDidAppear:animated];
        dispatch_async(dispatch_get_main_queue(), ^{
            self.placeHolder.frame=CGRectMake(0,0,200,300);
         });
    }
    

    把代码放到dispatch block中是为了保证你的代码在auto layout后才执行.

    转注:从别的界面返回时,界面改变会有延时,暂未找到合适的办法。

    相关文章

      网友评论

          本文标题:ios 无法更改UIView frame size解决办法

          本文链接:https://www.haomeiwen.com/subject/gnoxpttx.html