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

Posted

技术标签:

【中文标题】JASidePanels,右侧面板中无法识别触摸【英文标题】:JASidePanels, touch not recognized in right panel 【发布时间】:2013-05-27 08:29:36 【问题描述】:

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

我是这样配置面板的

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

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

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

谢谢。

【问题讨论】:

【参考方案1】:

我想我解决了这个问题,但我不知道这是否正确。

在方法中,

- (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;

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

【讨论】:

以上是关于JASidePanels,右侧面板中无法识别触摸的主要内容,如果未能解决你的问题,请参考以下文章

JASidepanels 不显示导航按钮

无名板找驱动

Xcode 不再识别测试

iOS - 添加约束后无法识别触摸

具有快速滚动和字母部分索引的 Android ListView

笔记本电脑触摸板的使用技巧