如何使用MergAV处理iPhone屏幕尺寸

时间:2018-02-12 08:57:45

标签: ios external livecode

我正在尝试使用MergAV构建一个小型iOS应用程序来扫描QRCodes。唯一让我烦恼的是,如果我基于iPhone 5屏幕尺寸创建应用程序,一切正常。即使在更大的屏幕上!但是,如果我开始使用iPhone 6大小的堆栈,我需要添加:

set the fullscreenmode of this stack to "ShowAll"

否则,iPhone 6或7上的堆栈将会很大。这本身就很奇怪但可管理。在我的堆栈上面的行告诉scaleFactor是1并且systemPixelScale是2(如预期的那样)但是当我通过以下方式设置“相机”的矩形时:

mergAVCamSet "rect",the rect of grc "cam"

相机无法获得正确的矩形。它略微左下偏移并且高于原始矩形。另一方面,如果我通过mergAVCamGet("rect")查询图形的矩形和相机的矩形,前三个数字是相同的,但最后一个(底部值)不同,而凸轮实际上有一个较低的数字!

这是一个错误吗?我应该知道的事情?我可以解决一些问题吗?

1 个答案:

答案 0 :(得分:0)

function realDeviceSize pParam
   local nX, nY
   put item 3 of the screenRect / item 3 of the effective rect of this stack into nX
   put item 4 of the screenRect / item 4 of the effective rect of this stack into nY
   put the round of (item 1 of pParam * nX) into item 1 of pParam
   put the round of (item 2 of pParam * nY) into item 2 of pParam
   put the round of (item 3 of pParam * nX) into item 3 of pParam
   put the round of (item 4 of pParam * nY) into item 4 of pParam
   return pParam
end realDeviceSize

on preOpenCard
   put realDeviceSize(the rect of image "iRectangle") into tCameraRect
end preOpenCard