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

2023-12-03

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


可以使用约束来匹配圆的位置UIButtons。诀窍是使用multiplier将按钮宽度/高度和位置缩放到屏幕尺寸的约束。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不同的屏幕尺寸上得到完全相同的点? 的相关文章

  • Xcode - 发布和分发配置中的 Malloc_Error

    仅当我在设备上选择发布或分发配置时 我才会收到此错误 在模拟器上它运行良好 请问 我错在哪里 cc1obj 4113 malloc mmap size 429379584 failed error code 12 error can t a
  • Swift 语言中的 #ifdef 替换

    在 C C Objective C 中 您可以使用编译器预处理器定义宏 此外 您可以使用编译器预处理器包含 排除代码的某些部分 ifdef DEBUG Debug only code endif Swift 中有类似的解决方案吗 是的 你可
  • 如何将 NSMutableArray 添加到 NSMutableArray Objective-c

    我正在从 Java 切换到 Objective c 但遇到了一些困难 我已经搜索过这个问题但没有取得太大成功 我有一个存储 NSMutableArrays 的 NSMutableArray 如何向数组添加数组 您可以在数组中存储对另一个数组
  • Swift Siesta 访问响应原始数据

    我的 API 中有一个返回 PDF 文件内容的方法 如何在成功回调中获取响应的原始数据 所有午睡响应均以原始数据开始 以基础类型的形式Data 然后运行变压器管道 http bustoutsolutions github io siesta
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • 从字典创建 Swift 对象

    如何根据 Swift 字典中的查找值动态实例化类型 希望这对其他人有用 我们需要进行一些研究才能弄清楚这一点 目标是避免巨大的 if 或 switch 语句从值创建每个对象类型的反模式 class NamedItem CustomStrin
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • 从 URL 解析 JSON 最终出现错误 - Swift 5

    我正在尝试用 swift 编写一个函数 从 URL JSON 获取数据 并将其分配给 swift 中的变量 这是函数 func getBikeData guard let url URL string https api citybik e
  • UITextfield 键盘只有字母,没有数字,没有大写字母,没有空格键?

    我希望 UITextfield 的键盘只有 a z 没有数字 没有特殊字符 并且没有大写字母 基本上我想要一个只有字母的键盘 我已经能够禁用该空间了 有人知道如何禁用数字 特殊字符和大写字母吗 解决这些问题中的任何一个都很棒 对所有角色执行
  • 如何在 iOS swift 中集成 Google Pay?

    嗨 朋友们 我搜索过有关 iOS swift 中谷歌支付集成的信息 我没有找到任何相关的解决方案 请帮助我如何解决这个问题 如果有任何链接或示例 请提供链接并指导我 谢谢 这是关于在印度发起 Google Pay 操作的问题吗 例如 使用
  • 您必须提供 5.5 英寸 Retina 显示屏的屏幕截图(适用于 4.7 英寸)

    当我按下提交审核按钮进入iTunes连接 我收到错误 您必须提供 5 5 英寸 Retina 显示屏的屏幕截图 因为您的应用程序二进制文件支持 5 5 英寸 Retina 显示屏 这是因为我添加了启动图像适用于 5 5 和 4 7 显示器
  • SwiftUI - SwiftUI 中有等效的 popViewController 吗?

    我正在使用 SwiftUI 希望在点击按钮时能够返回到之前的视图 与我们使用的相同popViewController里面一个UINavigationController 到目前为止有提供的方法吗 我也尝试过使用NavigationDesti
  • SwiftUI 导航:如何将详细信息视图切换到不同的项目?

    我正在努力实现以下导航行为 用户可以从列表中选择一个项目 该项目会触发该项目的详细信息视图 在此详细视图上 导航栏中有一个 添加 按钮 可打开用于添加其他项目的模式表 到目前为止 一切都按预期进行 但添加项目后 我希望详细视图显示新项目 我
  • 领域列表未存储在 Swift 4.2 的发布配置中

    我刚刚构建了我的应用程序的最新版本 并且遇到了一个问题List我的所有领域对象上的 s 都没有被存储 这是一些示例代码 Object public class ReportItem Object objc dynamic var id St
  • 切换到 Xcode 7 后,应用程序大小从 9 MB 增长到 60 MB,有解决办法吗?

    我一直在回顾 Git 历史来寻找文件大小发生巨大变化的原因 但我能找到的唯一真正原因是从 Xcode 6 切换到 Xcode 7 GM 我发现这些是文件大小贡献最大的 10 个 ipa创建自Archive操作在一个Release构建配置 u
  • 更改 UIAlertController 的标题字体大小

    我正在尝试更改标题fontSize in an UIAlertController 但我无法管理如何设置我的NSMutableAttributedString to the title 财产 所以我一直在创造NSMutableAttribu
  • Xcode - 免费清除设备文件夹?

    我正在删除一些文件夹和文件 以便在驱动器上腾出更多空间 我知道在路径中 Library Developer CoreSimulator Devices 每个模拟器和每个版本都有文件夹 这个文件夹对我来说大约有 11GB 大小 我知道我可以删
  • 可以转换为 Swift 5

    我在 Xcode 10 2 中收到此警告 可以转换为 Swift 5 当我单击此错误时 它会打开此窗口 当我们点击Next会发生什么 swift 的当前版本是 swift5 仅在 Xcode 10 2 中受支持 而您在 Xcode 10 2
  • 如何更改标签栏图标颜色从默认蓝色?

    我有四个标签 我能够将选项卡图标颜色从默认的蓝色更改为红色 或可能任何颜色 并且效果非常好 问题是它仅适用于三个选项卡项目 最后一个选项卡默认为蓝色 下面是代码 我正在编码这个rootviewcontrollerAppDelegate m您
  • iphone:使用 iOS 5 和 Xcode 4.2 提交应用程序? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个在

随机推荐

  • 创建后更改可观察的间隔/设置

    在 RxJS 中 创建后如何更改间隔设置 到目前为止我有这个 但它不起作用 var observable Rx Observable interval 500 map function data return Hello World dat
  • 如何使用基于声明的授权保护asp.net core 2.1中的静态文件夹

    我有一个使用 asp net core 2 1 的小项目 我希望保护充满静态资产的文件夹 我尝试实现的是基于这篇文章https odetocode com blogs scott archive 2015 10 06 authorizati
  • 解决为什么 PrintWindow 为空白的问题

    我正在尝试使用 PrintWindow 捕获非活动窗口的屏幕截图 它适用于计算器和捕获 Google Chrome 但对于其他一些应用程序 例如游戏 它可以节省白色区域 PrintWindow 失败的原因可能是什么以及如何验证它们 编辑 我
  • CSS 模块的服务器端渲染

    我将导入样式CSS模块并使其与服务器端渲染一起使用 我尝试了以下方法 但每种方法都有其自己的警告 最好的方法是什么require style scss 是否有副作用 使用css 模块 require hook 优势 易于配置 您只需在服务器
  • 如何使用 c++ 11 使函数在所需的周期执行

    我想使用c 11来实现类似windows API的功能SetTimer 就像 每2秒做某事 假设你想让这个函数每 2 秒执行一次 void foo cout lt lt Hello from foo lt lt endl 您可以提供一个简单
  • Django:如何将 STATIC_URL 设为空?

    是的 我希望它像 Flask 框架一样工作 在那里我可以设置如下参数 static folder os getcwd static static url path 以及其中的所有文件 static files blabla bla可以通过以
  • Entity Framework Code First 和 SQL Server 2012 序列

    我正在实施数据库审计跟踪 通过 Web API 项目中的控制器执行的 CRUD 操作将序列化旧的和新的 poco 并存储它们的值以供以后检索 历史 回滚等 当我让一切正常工作时 我不喜欢它在 POST 期间让我的控制器看起来如何 因为我最终
  • cordova.file.*(所有目录)为空

    我正在从事 Ionic 移动应用程序开发 我的要求是创建客户端记录器来跟踪应用程序中的问题 我使用了中提到的方法https github com pbakondy filelogger 我可以在 Android 和 iOS 中创建日志文件
  • 绘图框 p 值显着性注释

    我已经开始使用并喜欢绘制箱线图来表示我的数据 然而 我很难找到一种方法来对比这两个群体 使用Plotly时有没有办法引入数据之间的统计显着性比较 我想创建这样的图表 其中 对应于 p 值 0 05 我发现使用scipy stats ttes
  • 使用 c# mvc4 读取 rss feed

    这是我的第一篇文章 所以我遇到了这个问题 而且我对这种语言或 c 非常陌生 我有一个读取新闻 rss 的模型 然后使用相同的索引控制器 我必须将其传递给视图 这是我的模型 using System using System Collecti
  • Three.js Raycaster 不与自定义网格相交

    我通过创建带有顶点的几何图形 然后构建面来构建自定义网格 八角棱柱 我现在尝试添加鼠标悬停交互 但是 Raycaster 没有返回该网格的交集 我认为这是网格的问题 因为其他几何图形在场景中的相交处正确返回 完整的例子可以在这里看到 htt
  • java.lang.ClassNotFoundException: org.dom4j.DocumentException

    我编写了一些代码来学习hibernate 它抛出下面的错误 我如何找出问题所在并解决它 dom4j 听起来像是一个 XML 问题 是hibernate cfg xml的问题吗 Exception in thread main java la
  • 我实际上可以在cuda卡上分配多少内存

    我正在编写一个使用 cuda 在 GPU 上执行计算的服务器进程 我想对传入请求进行排队 直到设备上有足够的内存来运行作业 但我很难计算出可以在设备上分配多少内存 我对作业需要多少内存有一个很好的估计 至少从 cudaMalloc 分配多少
  • 如何使用 VS2015 远程运行测试?

    我有一些 CodedUI 测试 我想在 Visual Studio 的远程计算机上运行 现在 过去您需要在某处安装一个测试控制器 在要运行的盒子上安装一个测试代理 让它们说话 然后使用指向该控制器的测试设置文件 我正在经历这个并在我的运行箱
  • 当应用程序处于工作模式时,UILocalNotification 不会触发

    关于为什么本地通知无法正常触发有很多问题here and there 还有几个关于为什么当应用程序处于后台状态时本地通知不会触发的问题 我也经历过them 但令我惊讶的是 我没有找到任何与前台状态或活动状态相关的通知帖子 即在我的应用程序中
  • 如何分组并获取具有最大值的元素 - javascript/node.js

    我有以下数组 我试图通过按 EntryId 分组来获取具有最大 id 的元素node js entryId 7wpNAXhYI id 5 entryId 7wpNAXhYI id 6 entryId 5PGB23RI id 7 entryI
  • Highcharts y 轴天花板未得到尊重

    我在使用 Highcharts 时遇到问题 其中两个 y 轴之一的上限没有得到尊重 Y 轴 1 代表百分比值 因此下限为 0 上限为 100 Y 轴 2 代表货币值 因此下限为 0 上限为null 由于某种原因 y 轴 1 的标签最多为 1
  • 使用 Flexbox 左对齐和居中对齐元素

    我正在使用 Flexbox 来对齐我的子元素 我想做的是将一个元素居中 并使另一个元素靠左对齐 通常我会使用设置左侧元素margin right auto 问题在于将中心元素推离中心 这可能吗without使用绝对定位 HTML 和 CSS
  • 找不到“laravel/homestead”框

    尝试配置 laravel 5 1 克隆了拉拉维尔 家园 将其克隆到之后Home目录 尝试运行 vagrant up 命令时抛出错误 如下所示 user user laravel homestead vagrant up Bringing m
  • 如何在不同的屏幕尺寸上得到完全相同的点?

    我想在用户点击特定区域时调用该操作 转到另一个视图 image 黑点 图像填充整个视图 内容模式为 Aspect Fit 问题是 当我将其设置在一种屏幕尺寸 例如 iPhone 8 上时 点击区域 会发生移动 我尝试使用按钮和约束或使用屏幕