【发布时间】:2020-07-20 00:12:01
【问题描述】:
我有一个标签集。标签位于堆栈视图的父级堆栈视图中。当视图加载时,我想让每个标签淡入并一个接一个地向右移动。我可以在循环中应用约束来抵消它。但只有一个会动画回到最终位置。
-(void)viewDidLoad {
[super viewDidLoad];
for (UILabel *lbl in _constructionlabels) {
lbl.alpha = 0.0;
leadingCnst=[NSLayoutConstraint
constraintWithItem:lbl
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:[lbl superview]
attribute:NSLayoutAttributeLeading
multiplier:1.0
constant:-25];
[self.view addConstraint:leadingCnst];
}
}
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
leadingCnst.constant = 0;
[UIView animateWithDuration:0.33 delay:2 options:UIViewAnimationOptionCurveEaseOut animations:^{
for (UILabel *lbl in self->_constructionlabels) {
lbl.alpha = 1.0;
}
[self.view layoutIfNeeded];
} completion:^(BOOL finished) {
}];
}
如何将约束应用于每个需要的标签,然后一个接一个地为它们设置动画?
【问题讨论】:
-
标记此处使用的编程语言以获得更好的可见性可能很有用。对我来说,它看起来像 Objective-c,但因为我从来没有做过 Objective-c,所以我不是 100% :)
标签: objective-c xcode animation nslayoutconstraint iboutletcollection