gpt4 book ai didi

ios - 滚动 UICollectionView 会导致父 UIView 中的 UITableView 将 Collection View 推出 Frame

转载 作者:行者123 更新时间:2023-11-29 02:33:07 25 4
gpt4 key购买 nike

我的应用有一个隐藏在 UINavigationBar 后面的小 UIView。我设置了一个手势识别器,当点击导航栏时,这个“弹出窗口”UIView 会下降到 View 中,并且它下面的 UITableView 会下降以腾出空间它。这效果很好,但是当我尝试滑动 Collection View 以加载新单元格时,表格 View 将降低的 View 推回到导航栏后面。

GIF

我尝试将 lldb 观察点放在弹出 View 和 TableView 上,看看是否可以跟踪 View 框架更改,但我似乎永远无法达到观察点:

(lldb) w s v self->_drawerView->_layer
Watchpoint created: Watchpoint 3: addr = 0x7feac410b788 size = 8 state = enabled type = w
watchpoint spec = 'self->_drawerView->_layer'
new value: 0x00007feac410b850

(lldb) w s v self->_tableView->_layer
Watchpoint created: Watchpoint 2: addr = 0x7feac6008008 size = 8 state = enabled type = w
watchpoint spec = 'self->_tableView->_layer'
new value: 0x00007feac4102cf0

这是我的动画代码。我已放置断点并且知道此代码不会导致此错误。

- (void)toggleDrawer:(UIGestureRecognizer *)recognizer {

[UIView animateWithDuration:0.5 delay:0.0 usingSpringWithDamping:0.6f initialSpringVelocity:0.5f options:0 animations:^{
if (lowerDrawer) {
self.drawerView.frame = CGRectMake(self.drawerView.frame.origin.x, self.drawerView.frame.origin.y + 70, self.drawerView.frame.size.width, self.drawerView.frame.size.height);

// lower table at same time
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y + 70, self.tableView.frame.size.width, self.tableView.frame.size.height - 70);

// flip arrow
self.arrowImageView.transform = CGAffineTransformMakeRotation(M_PI);

lowerDrawer = NO;

} else {
self.drawerView.frame = CGRectMake(self.drawerView.frame.origin.x, self.drawerView.frame.origin.y - 70, self.drawerView.frame.size.width, self.drawerView.frame.size.height);

self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y - 70, self.tableView.frame.size.width, self.tableView.frame.size.height + 70);

// flip arrow
self.arrowImageView.transform = CGAffineTransformMakeRotation(M_PI * 180);

lowerDrawer = YES;
}
} completion:^(BOOL finished) {
//
}];
}

我应该如何开始调试呢?我能做些什么来确保 Collection View 在加载新单元格时不会更改其框架吗?

最佳答案

看来这是你手动设置的坐标和Storyboard文件自动设置的坐标有冲突。

尝试检查您可能拥有的任何自动约束,或取消选中 Storyboard Interface Builder 中的“使用自动布局”。

关于ios - 滚动 UICollectionView 会导致父 UIView 中的 UITableView 将 Collection View 推出 Frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26664008/

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