首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滚动UICollectionView使父UIView中的UITableView将集合视图推出框架

滚动UICollectionView使父UIView中的UITableView将集合视图推出框架
EN

Stack Overflow用户
提问于 2014-10-30 21:54:13
回答 1查看 326关注 0票数 0

我的应用程序有一个小UIView,隐藏在UINavigationBar后面。我有一个手势识别器设置,当导航条被点击,这个‘弹出’UIView下降到视图,而在它下面的UITableView下降为它腾出空间。这样做很好,但是当我试图在集合视图中滑动以加载新的单元格时,表视图会将降低的视图推回导航条后面。

我尝试在popover视图和表视图上放置和lldb监视点,以查看是否可以跟踪视图帧更改,但我似乎永远无法到达监视点:

代码语言:javascript
复制
(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

这是我的动画代码。我已经设置了断点,并且知道这段代码不会导致这个错误。

代码语言:javascript
复制
- (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) {
        //
    }];
}

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-04 04:15:11

看起来这是由您手动设置的坐标和由Storyboard文件自动设置的坐标之间的冲突。

尝试检查您可能拥有的任何自动约束,或取消选中“使用自动退出”在您的故事板界面生成器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26664008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档