0

在 iPad 横向上,我有一个右侧面板,几乎占据了屏幕的所有宽度。

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

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

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

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

谢谢你。

4

1 回答 1

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;

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

于 2013-05-27T10:43:33.287 回答