我想在用户点击特定区域时调用该操作(转到另一个视图)image(黑点): .图像填充整个视图,内容模式为“Aspect Fit”。问题是,当我将其设置在一种屏幕尺寸(例如 iPhone 8)上时,“点击区域”会发生移动。我尝试使用按钮和约束或使用屏幕分辨率(nativeBounds)进行点转换的 UITapGestureRecognizer 来解决此问题,但没有任何帮助。
可以使用约束来匹配圆的位置UIButton
s。诀窍是使用multiplier
将按钮宽度/高度和位置缩放到屏幕尺寸的约束。
我将描述如何对一个按钮执行此操作,然后您可以对其他按钮重复此操作。我假设图像是657
宽阔918
高的。如果我颠倒了尺寸,您需要用实际值替换我使用的值。
- 创建一个
UIView
保存图像和按钮。给这个视图一个宽高比约束multiplier
657:918
即宽度:高度。添加UIImageView
到此视图并将其 4 条边约束到视图的边缘0
偏移量。将此视图约束设置为主视图的左边缘和右边缘,并为其设置垂直约束以将其放置在屏幕上。
- 获取图像中圆的宽度/高度以及右边缘和下边缘的水平和垂直位置。例如,最上面的圆是
106 x 106
并在水平位置结束392
底部位于338
.
- 使用乘数将按钮的宽度设置为等于包含视图的宽度
106:657
这是圆的宽度:图像的宽度。
- 使用乘数将按钮的高度设置为等于包含视图的高度
106:918
这是圆的高度:图像的高度。
- 使用乘数将按钮的后缘设置为等于包含视图的后缘
392:657
这是圆的末端:图像的宽度。
- 使用乘数将按钮的下边缘设置为等于包含视图的下边缘
338:918
这是圆的底部:图像的高度。
这将使按钮在所有设备上与圆圈保持对齐。对其他圆圈重复步骤 2 到 6。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)