gpt4 book ai didi

ios - UIButton 状态转换动画不适用于 setEnabled 或 setHighlighted

转载 作者:行者123 更新时间:2023-12-01 18:12:31 24 4
gpt4 key购买 nike

更新

动画适用于 setEnabled=NO .
setEnabled=YES 的动画在 UIScrollView 时触发正在滚动,UIButton位于 setEnabled=NO 的 ScrollView 和动画内在 UIScrollView 时触发完成滚动。

所以,我觉得动画之所以为setEnabled=YES不起作用是因为 View 在移动。我不确定,但这似乎是迄今为止我发现的唯一合乎逻辑的解释。我用 dispatch_after() 做了一个测试并且动画适用于setEnabled同样,换句话说,如果在 View 不移动时触发动画,则动画正在工作。

我需要做什么 ?

我有两个不同的背景图像 UIButton一个用于 UIControlStateNormal另一个是 UIControlStateDisabled .

我想要一种 UIButton 从一种状态缓慢过渡到另一种状态的效果

我一直在做什么?

BOOL enableDisable = YES;
[UIView transitionWithView:((UIButton*)object)
duration:3.3
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{ [((UIButton*)object) setEnabled:enableDisable]; }
completion:nil];

问题

UIButton 转换为 setEnabled=NO状态持续时间,但无论我在 options 中放了什么 setEnabled几乎立即发生。

有什么我想念的吗?

提前感谢您的时间和回复。

最佳答案

不幸的是,UIView 的启用或禁用状态不是苹果文档中可动画属性的一部分。动画属性是:

frame, center, bounds, transform, alpha, backgroundColor, contentStretch

引用这里: UIView animation

但是,如果您想为动画创建自定义属性,您可以查看这篇文章,其中描述了实现它的方法。 Create a custom animatable property

关于ios - UIButton 状态转换动画不适用于 setEnabled 或 setHighlighted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27794832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com