gpt4 book ai didi

iphone - 在 iOS 上使用动画从右到左调整 View 大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:09:21 26 4
gpt4 key购买 nike

我想将 UIView 的大小从右侧调整到左侧(相反)。现在我有像这样的 rect View :CGRectMake(100.f, 0.f, 100.f, 100.f);

[UIView animateWithDuration:0.5 animations:^{
view.frame = CGRectMake(0.f, 0.f, 200.f, 100.f);
}];

问题是动画效果不好。它向右弹跳(变大)然后移动到位置 0.0,0.0。

我想实现与从左到右调整大小时相同的效果。

编辑:代码

- (void)resizeSearchBar:(int)type
{
//resize - bigger
if (type == 1) {
[UIView animateWithDuration:1.0 animations:^{
self.searchBar.frame = CGRectMake(0.f, 0.f, 280.f, 44.f);
}];
}
//resize - smaller
else {
[UIView animateWithDuration:1.0 animations:^{
self.searchBar.frame = CGRectMake(95.f, 0.f, 185.f, 44.f);
}];
}
}

编辑 2

我也试过像这样更改 IB 中的 View 属性: enter image description here

仍然没有运气......

最佳答案

得到它与这个答案的提示一起工作:Can't animate the frame or bounds of a UISearchBar

诀窍是在设置框架后在动画 block 中调用 [searchBar layoutSubviews];

这是我在示例中要做的工作:

- (IBAction)resizeButtonTapped:(id)sender {
//resize - bigger
if (searchBar.frame.origin.x == 95) {
[UIView animateWithDuration:1.0 animations:^{
self.searchBar.frame = CGRectMake(0.f, 0.f, 280.f, 44.f);
[searchBar layoutSubviews];
}];
}
//resize - smaller
else {
[UIView animateWithDuration:1.0 animations:^{
self.searchBar.frame = CGRectMake(95.f, 0.f, 185.f, 44.f);
[searchBar layoutSubviews];
}];
}

}

关于iphone - 在 iOS 上使用动画从右到左调整 View 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12037404/

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