在layoutsubviews中设置子控件的frame,保证执行alpha和frame动画流畅度

  在viewDidLoad中初始化需要的子控件,然后提供改变这些子控件的开放接口,然后使用一个bool变量来保存是否已经设置了子类控件的frame类似

-(void)layoutSubviews
{
    [super layoutSubviews];
#pragma mark 这个变量很重要,如果没有就会导致重复的设置frame导致动画效果很差
    if (!_laidOut) {
        _homeNavigationView.frame = self.bounds;
        
        _leftNavigationView.frame = self.bounds;
        
        _composeNavigationView.frame = self.bounds;
        
        _rightNavigationView.frame = self.bounds;
        
        _talkNavigationView.frame = self.bounds;
    }
    _laidOut = YES;
}

  然后在进行alpha和frame改变的动画的时候就会显得很流畅了。

posted @ 2014-11-13 17:15  一壶浊酒  阅读(377)  评论(0编辑  收藏  举报