gpt4 book ai didi

swift - 如何在不同的屏幕尺寸上获得完全相同的点?

转载 作者:行者123 更新时间:2023-11-28 07:44:56 25 4
gpt4 key购买 nike

我想在用户点击 image 的特定区域时调用操作(转到另一个 View ) (黑点):。图像填充整个 View ,内容模式为“Aspect Fit”。问题是,当我在一个屏幕尺寸(例如 iPhone 8)上将其设置在另一个屏幕尺寸(例如 iPhone 8)上时,“点击区域”会移动。我尝试使用按钮和约束或 UITapGestureRecognizer 使用屏幕分辨率 (nativeBounds) 进行点转换来解决此问题,但没有任何帮助。

最佳答案

可以使用约束将圆圈的位置与 UIButton 匹配。诀窍是使用约束的乘数 将按钮的宽度/高度和位置缩放到屏幕尺寸。

我将介绍如何为一个按钮执行此操作,然后您可以为其他按钮重复此操作。我假设图像的宽度为 657,高度为 918。如果我颠倒了尺寸,您需要用实际值替换我使用的值。

  1. 创建一个 UIView 来保存图像和按钮。使用 multiplier 657:918 为该 View 提供宽高比约束,即宽度:高度。将 UIImageView 添加到此 View ,并将其 4 条边约束到具有 0 偏移量的 View 边缘。将此 View 约束为主视图的左右边缘,并为其提供垂直约束以将其放置在屏幕上。
  2. 获取图像中圆的宽度/高度以及右边缘和下边缘的水平和垂直位置。例如,最上面的圆是 106 x 106,结束于水平位置 392,底部是 338
  3. 将按钮的宽度设置为等于包含 View 的宽度,乘数为 106:657,即圆的宽度:图像的宽度。
  4. 将按钮的高度设置为等于包含 View 的高度,乘数为 106:918,即圆的高度:图像的高度。
  5. 设置按钮的后缘等于包含 View 的后缘,乘数 392:657 是圆的末端:图像的宽度。
  6. 设置按钮的底部边缘等于包含 View 的底部边缘,乘数 338:918 是圆的底部:图像的高度。

这将使按钮在所有设备上都与圆圈对齐。对其他圆圈重复步骤 2 到 6。

关于swift - 如何在不同的屏幕尺寸上获得完全相同的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51365374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com