JASidePanels,触摸在右侧面板中无法识别

时间:2013-05-27 08:29:37

标签: ios ipad uiviewcontroller

在iPad环境中,我有一个右侧面板,几乎占据了屏幕的所有宽度。

我已经按照这种方式配置了面板

[[self viewController] setShouldResizeRightPanel:YES];
[[self viewController] setRightGapPercentage:0.93f];
[[self viewController] setAllowRightOverpan:YES];

问题是我无法触摸右侧面板的左侧部分(约25%的视图不响应触摸)。如果我将shouldResizeRightPanel设置为NO,那么它占用可用宽度的80%(即rightGapPercentage的默认值)并且触摸正常,但面板不占用整个可用宽度

这是一个错误还是错过了我必须配置的东西来实现这个目标?

谢谢。

1 个答案:

答案 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;

我认为代码的内容还有更多内容。