Wednesday 15 July 2015

ios - Scrolling UICollectionView causes UITableView in parent UIView to push Collection View out of Frame -



ios - Scrolling UICollectionView causes UITableView in parent UIView to push Collection View out of Frame -

my app has little uiview hides behind uinavigationbar. have gesture recognizer set when nav bar tapped, 'popover' uiview drops downwards view, , uitableview below drops downwards create room it. works well, when seek swipe through collection view load new cells, table view pushes lowered view behind nav bar.

i have tried set , lldb watchpoint on popover view , table view see if track view frame change, never seem nail watchpoint:

(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

here animation code. have set in breakpoints , know code not causing bug.

- (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 @ 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) { // }]; }

how should begin debug this? there can insure collection view not alter frame when loading new cells?

looks conflict between coordinates manually set , coordinates automatically set storyboard file.

try checking auto-constraints may have, or uncheck "use autolayout" in storyboard interface builder.

ios uitableview uiview uicollectionview uiviewanimation

No comments:

Post a Comment