gpt4 book ai didi

ios - 使用 animationWithDuration 更改 UIButton 的标题没有延迟或动画

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

我有一个带有初始文本“开始”的开始按钮,该按钮连接到 Interface Builder 中的一个操作。

但是,动画会立即开始和结束,而不是 3 + 5 秒。这段代码有什么问题?

@interface ViewController()
@property (weak, nonatomic) IBOutlet UIButton *startButton;
@end

@implementation ViewController

- (IBAction)startPressed:(UIButton *)sender
{
[UIView animateWithDuration:3 delay:5
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
[self.startButton setTitle:@"New Title" forState:UIControlStateNormal];
}
completion:nil];
}

@end

更新 : 当然,这些回答是正确的。我使用了 Jack Wu 的建议,虽然没有隐藏文本,但 setTitle 使按钮在屏幕上闪回。
- (IBAction)startPressed:(UIButton *)sender
{
[UIView animateWithDuration:1.5 delay:5
options:UIViewAnimationOptionCurveEaseInOut
animations:^{ self.startButton.alpha = 0; }
completion:^(BOOL c){ if (c) {
self.startButton.hidden = YES;
[self.startButton setTitle:@"newTitle" forState:UIControlStateNormal];
[UIView animateWithDuration:1.5 delay:0 options:UIViewAnimationOptionCurveEaseInOut
animations:^{
self.startButton.hidden = NO;
self.startButton.alpha = 1;
}
completion:nil];

}}];
}

最佳答案

按钮的标题不是动画属性,因此您会看到它立即返回。这是设计使然。你可以在它的 documentation 中找到 UIView 的动画属性。 .这是他们今天的情况。

@property frame
@property bounds
@property center
@property transform
@property alpha
@property backgroundColor
@property contentStretch

或者,您可以向按钮添加两个 subview 标签,并在动画中交叉淡入淡出它们。

关于ios - 使用 animationWithDuration 更改 UIButton 的标题没有延迟或动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148643/

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