gpt4 book ai didi

ios - 关于UIScrollView subview 上的动画

转载 作者:行者123 更新时间:2023-11-29 03:44:22 25 4
gpt4 key购买 nike

当我在 ScrollView 的 subview 上添加一些动画(例如扩展或收缩文本字段)时,它不起作用。但当 subview 添加到简单的 UIView 时,效果很好。

这是怎么发生的?

最佳答案

UIScrollView 中对 UITextFieldframe 进行动画处理应该没有问题。

在 iOS 6 及更高版本中,“我的动画没有动画”的最常见原因是在使用自动布局时尝试通过调整 frame 来为控件设置动画(因为 的调整>frame 可能会被最无害的操作重新应用的约束所阻碍)。您可以通过选择 Interface Builder 中最右侧面板的文件检查器(第一个选项卡)并查看是否选中“使用自动布局”来判断是否正在使用自动布局:

enter image description here

例如,要在不使用自动布局时对 frame 进行动画处理,假设您的 UITextField 有一个名为 textFieldIBOutlet >,你可能会这样做:

[UIView animateWithDuration:0.5 animations:^{
CGRect frame = self.textField.frame;
frame.size.width = 280;
self.textField.frame = frame;
}];

但是使用自动布局时的等效效果不是通过调整框架来实现的,而是通过更改约束的常量值来实现。例如,假设您在 UITextField 上为名为 textFieldWidthConstraintwidth 约束创建了一个 IBOutlet,您可以为改变宽度,例如:

self.textFieldWidthConstraint.constant = 280;
[UIView animateWithDuration:0.5 animations:^{
[self.view layoutIfNeeded];
}];

如果您认为自己正在使用与您选择的自动布局或非自动布局相对应的适当动画技术,但它仍然不起作用,您应该向我们展示一些代码并更详细地描述情况。

关于ios - 关于UIScrollView subview 上的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937292/

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