自定义 UIToolbar 用动画调整大小

Posted

技术标签:

【中文标题】自定义 UIToolbar 用动画调整大小【英文标题】:Custom UIToolbar resize with animation 【发布时间】:2012-04-03 12:02:55 【问题描述】:

我正在使用这段代码来调整我的自定义 UIToolbar 的大小以更改宽度属性

[UIView animateWithDuration:0.3 delay:0.3 options:0 animations:^
    self.navToolbar.frame=CGRectMake(0, 0, 200, 30);
 completion:nil];

上面的代码,正确改变宽度但没有动画, 谁能告诉我为什么?

谢谢

【问题讨论】:

尝试至少 1 秒的持续时间。如果这有帮助,那么您必须通过动画持续时间来调整动画效果 我更改了持续时间,但没有任何变化。 什么ios? 4以上吗? 我已经用UINavigationBarUIToolbar 测试了你的代码并且工作正常。我想这与您的插座有关...您是在 Interface Builder 中还是在代码中实例化工具栏? 我不知道为什么,但现在它可以工作了,工具栏的宽度现在随着动画而变化,而不是 UIBarButtonItems 【参考方案1】:

UIViewAnimationOptionLayoutSubviews (iOS > 4.0) 应该可以解决大小变化没有动画化时的问题。

[UIView animateWithDuration:0.3 
        delay:0.3 
        options:UIViewAnimationOptionLayoutSubviews 
        animations:^
        self.navToolbar.frame=CGRectMake(0, 0, 200, 30);
        
       completion:nil
];

【讨论】:

以上是关于自定义 UIToolbar 用动画调整大小的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView:使用动画和自定义布局调整单元格大小

UICollectionView 自定义布局动画故障,在 performBatchUpdates 上具有自我调整单元格大小

使用UIToolbar调整UIView的大小不会同时调整大小

调整 UIToolbar 的大小以适合其项目?

iOS - UIToolbar 从后台返回后调整大小

highcharts 用jquery设置animate 调整长宽的动画效果后 大小怎么自适应