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,右侧面板中无法识别触摸的主要内容,如果未能解决你的问题,请参考以下文章