在iPad环境中,我有一个右侧面板,几乎占据了屏幕的所有宽度。
我已经按照这种方式配置了面板
[[self viewController] setShouldResizeRightPanel:YES];
[[self viewController] setRightGapPercentage:0.93f];
[[self viewController] setAllowRightOverpan:YES];
问题是我无法触摸右侧面板的左侧部分(约25%的视图不响应触摸)。如果我将shouldResizeRightPanel
设置为NO
,那么它占用可用宽度的80%(即rightGapPercentage的默认值)并且触摸正常,但面板不占用整个可用宽度
这是一个错误还是错过了我必须配置的东西来实现这个目标?
谢谢。
答案 0 :(得分:0)
我想我解决了这个问题,但我不知道这是否正确。
在方法中,
- (void)_animateCenterPanel:(BOOL)shouldBounce completion:(void (^)(BOOL finished))completion;
评论动画块的条件if (self.style == JASidePanelMultipleActive)
,以允许在每种样式中正确布置侧容器[self _layoutSideContainers:NO duration:0.0f];
。
目前正常运作。
修改
好吧,我继续调查,我以_layoutSidePanels
结束。有一个条件if (self.shouldResizeRightPanel) {
,这是旧代码:
frame.origin.x = self.rightPanelContainer.bounds.size.width - self.rightVisibleWidth;
frame.size.width = self.rightVisibleWidth;
这是我的代码。通过这种方式,面板可以正确布局,并且所有面板都可以敲击。先前的解决方案是错误的。
[self.rightPanelContainer setWidth:self.rightVisibleWidth];
[self.rightPanelContainer setOriginX:self.rightVisibleWidth * (1.0f - self.rightGapPercentage)];
frame.origin.x = 0.0f;
frame.size.width = self.rightVisibleWidth;
我认为代码的内容还有更多内容。