gpt4 book ai didi

ios - 按下按钮时的 UIView 动画 - 第一次尝试时不可见

转载 作者:行者123 更新时间:2023-11-29 03:30:47 27 4
gpt4 key购买 nike

我在水平放置的 UIView 中有一组三个 UITableView,两个在屏幕上随时可见,另一个在屏幕外。我正在尝试对位置变化进行动画处理,按下按钮时,最左边的表格会从屏幕向左滑动,然后其他两个表格会滑过以填充位置。

我遇到的问题是,如果我尝试同时为多个表格设置动画,则第一次按下按钮时什么也不会发生。但按第二次一切正常。如果我尝试仅对一个表格进行动画处理,那么它会在第一次按下时起作用。我的按钮处理程序代码如下:

- (IBAction)buttonPressed:(id)sender{

CGRect newUITableView1Frame = self.originalUITableView1Frame;
newUITableView1Frame.origin.x = newUITableView1Frame.origin.x - newUITableView1Frame.size.width;

if(!makeSubButtonPressed){
self.makeSubButtonPressed = YES;
[self.makeSubButton setTitle:@"Choose Team Lineup" forState:UIControlStateNormal];

[UIView animateWithDuration:0.5
delay:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.UITableView1.frame = newUITableView1Frame;
self.UITableView2.frame = originalUITableView1Frame;
self.UITableView3.frame = originalUITableView2Frame;
}
completion:^(BOOL finished){NSLog(@"Animation Finished");}];
}

在ViewDidLoad方法中:

self.originalUITableView1Frame = self.UITableView1.frame;
self.originalUITableView2Frame = self.UITableView2.frame;

第一次按下时,控制台中始终会打印“Animation Finished”,以便执行代码。我还尝试过为每个动画使用单独的动画 block ,但结果是相同的。

我不知道出了什么问题。有什么建议吗?

编辑:我可能应该补充一点,我为此使用了 Storyboard,并且所有 UITableView 都添加到了那里。

最佳答案

您在动画 block 中为第二个表设置了两次框架,但没有为第三个表设置框架。

在动画 block 中试试这个:

self.UITableView1.frame = newUITableView1Frame;
self.UITableView2.frame = originalUITableView1Frame;
self.UITableView3.frame = originalUITableView2Frame;

关于ios - 按下按钮时的 UIView 动画 - 第一次尝试时不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19815970/

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