Corona SDK - "ShowOverlay"与LetterBox问题

3
我有一个按钮,当按下时调用以下函数。
local function showHudPressed()
    local options =
    {
        effect = "slideLeft",
        time = 400,
        isModal = true,
        params = { global = Global }
    }
    storyboard.showOverlay( "PopOver", options)
end

覆盖层以动画等方式出现,没有问题!isModal也起作用了,我可以重新点击按钮并且该方法不会被调用,正如我所期望的。

但是当我将同一个按钮移动到距离左边缘30像素时,它就允许工作。更奇怪的是,如果我将其移动35像素,右侧不起作用,但左侧则起作用。将其移动回40像素,问题消失!

我试过在屏幕上放置2个按钮,但仅在接近屏幕边缘时才会出现问题。

这是个bug吗?

PS:在设备和模拟器上都出现了该问题。

感谢任何想法。


好吧,zoomEven可以解决这个问题,但在iPhone 5上,位置有问题。Letterbox保持屏幕上的位置正确,但是在letterbox缩放区域内进行触摸实际上会使弹出窗口的模态框出现问题... 最好不要缩放... 但是那样你就不能使用@2x... 那么你应该怎么办?


您正在使用信箱模式吗? - speeder
是的,我正在使用Letterbox...并且删除它解决了我的问题!谢谢伙计! :-) - DogCoffee
1个回答

1
在信箱模式下,您的物品可能会“流出”到信箱区域,而模态区块仅阻止内容区域。因此,在负位置或大于display.contentWidthdisplay.contentHeight的位置可能不会被阻止。

在屏幕的右侧也做了同样的事情...很高兴它已经解决了。 - DogCoffee
我刚在普通的iPhone上打开了我的应用程序,但是这个错误仍然存在,所以它对视网膜显示有帮助,但对于普通手机没有帮助... - DogCoffee
更多的测试表明,除非我使用“letterbox”,否则我的动态内容图像缩放,即display.newImageRect("Images/body.png", 130, 20);将无法工作...因此一个会影响另一个。 - DogCoffee
我刚刚在显示悬浮窗后移除了按钮的事件监听器,然后一旦悬浮窗被取消,就重新添加上去... 效果非常好。 - DogCoffee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接