2013-11-28 72 views
0

我必须查看pannelView和contentView。按下按钮隐藏pannelView并将contentView扩展到全屏。我一直在使用此代码:动画多个uiviews

if (sender.selected==NO) { 
      pannelView.hidden=YES; 
      contentView.frame=CGRectMake(0, 90, 768, 434); 
      sender.selected=YES; 
     } 
     else { 
      pannelView.hidden=NO; 
      contentView.frame=CGRectMake(186, 90, 580, 434); 
      sender.selected=NO; 
     } 

它在没有动画的情况下切换两个状态。我应该怎么做才能让他们看起来很漂亮?而且,当其他按钮被按下时,contentView被更新。我希望这个视图在内容加载的时候隐藏和显示动画。

回答

2

看看UIView documentation和基于块的动画部分。

一个简单的例子:

CGRect newFrame; 
BOOL hidePanelView; 
if (sender.selected==NO) { 
    hidePanelView = YES; 
    newFrame = CGRectMake(0, 90, 768, 434); 
    sender.selected=YES; 
} else { 
    hidePanelView = NO; 
    newframe = CGRectMake(186, 90, 580, 434); 
    sender.selected=NO; 
} 

[UIView animateWithDuration:0.25 animations:^{ 
    contentView.frame = newFrame; 
    pannelView.hidden = hidePanelView; 
}