UIButton 图像位置取决于 titleLabel 的框架

2024-02-12

我的问题很简单,但我找不到解决方案。我有一个带有标题和图像的 UIButton。我希望无论发生什么情况图像位置都是固定的,所以我这样设置:

[button setImageEdgeInsets:UIEdgeInsetsMake(0.f, 0.f, 0.f, IS_IPHONE ? 20.f : 60.f)];

我没有为按钮设置任何位置titleLabel.

接下来发生的事情是我为按钮设置新标题,标题标签缩小或扩展以适应新文本,令人惊讶的是它使图像移动,因此很明显,尽管应用了图像边缘插入,但图像位置取决于标签的框架。我看到可以使用两种解决方案:

1)使图像独立于标签的框架

2) 设置标签的固定尺寸

但我不知道如何实现它们。您能给我一些如何解决这个问题的建议吗?


您可以子类化 UIButton 并管理图像和标题的矩形。 重写以下方法并根据您的要求返回图像和标题的适当矩形。

-(CGRect)imageRectForContentRect:(CGRect)contentRect;

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

UIButton 图像位置取决于 titleLabel 的框架 的相关文章

  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 从 robovm 项目创建 iOS 静态库(JNI 中的 BAD_ACCESS)

    我有大量的Java代码 只有计算函数 没有UI 我想在iOS中将其重用为静态库 我的方法是使用robovm http www robovm com并按照robovm论坛中两篇文章中描述的非官方方式创建静态库 1 基本方式 https gro
  • 将 UIToolBar 添加到所有键盘(swift)

    我正在尝试以尽可能少的重复次数将自定义 UIToolBar 添加到我的所有键盘中 我目前的做法要求我将代码添加到所有 viewDidLoads 中 并将每个文本字段的委托分配给我正在使用的 viewController 我尝试创建自己的 U
  • ABAddressBookCopyArrayOfAllPeople 中缺少联系人

    我试图从我的应用程序中的地址簿中查找电话号码 但很惊讶没有找到它 问题是 我已经在我的应用程序访问的控制台中打印了地址簿的所有号码 奇怪的是 有些联系人丢失了 我正在将输出与我的地址簿进行比较 虽然数量很少 但仍然如此 这就是我访问地址簿的
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • Xamarin - 错误:dsymutil 退出,代码为 72

    最近升级到 VS for Mac 8 10 21 在构建应用程序时 我得到 Xamarin Shared targets 3 3 Error dsymutil exited with code 72 这是 Xcode 13 3 的情况 完整
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • 为什么选择选择器选项后我的 SwiftUI 页面标题会发生变化?

    struct SettingsView View let settings Setting Setting name Aperture Increments options 1 3 1 2 1 Setting name Shutter Sp
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • AVAudioPlayer 无法从网站播放 m4a 或 mp3 文件类型

    我试图在我的应用程序中找到一个仅纯 m4a 声音的 URL 我有音频的 URL 理论上可以下载它 然后 使用下载的文件URL到声音 我尝试使用AVAudioPlayer播放它 但它不播放任何声音 这是我的代码 在 URL 检索函数中 我调用
  • 根据内容自动更改单元格高度 - Swift

    在 Swift 中使用 UITableView 有人可以帮我根据标签 图片和描述自动更改单元格的高度吗 所有信息都正确传递 我只需要帮助格式化它 我尝试使用调整它cell frame size height 但这没有效果 我可以更改故事板中
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • 所有 RestKit 项目在归档时都无法构建

    这个问题涉及RESTKIT 0 9 x 如果您是 Restkit 新手 请考虑使用较新的版本0 10 x https github com RestKit RestKit tree v0 10 1 branch 我最近继承了一个项目 使用r
  • UIViewController 内的 UIsearchController 使用自动布局

    有没有人成功实施过UIViewController其中包含两个UISearchController searchBar and a UItableView使用自动布局来布局所有内容 我正在尝试实现类似的目标1密码 https itunes
  • Unwind segue 的用途是什么以及如何使用它们?

    iOS 6 和 Xcode 4 5 有一个称为 Unwind Segue 的新功能 展开转场可以允许过渡到故事板中场景的现有实例 除了 Xcode 4 5 发行说明中的 这个简短条目之外 UIViewController 现在似乎还有几个新
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • Play/Akka 与 Java OutputStreams 集成

    我正在写剧本 该应用程序公开了 REST API 允许用户生成 PDF 报告 我受到使用旧 Java API 来生成实际报告的要求的限制 那个库有一个方法generate OutputStream out 即需要一个java io Outp
  • 应用程序扩展“由于内存问题而终止”

    在我的应用程序通知服务扩展中 我执行以下操作 从 Parse 获取数据 在后台 将数据写入文件 将数据保存在 NSUserDefaults 中 在共享容器中 有时我会收到消息 由于内存问题而终止 没有其他信息说明导致此情况的原因 有人有这方
  • J2ME 上的 JDBC 支持

    目前我正在尝试在 Windows Mobile 6 1 设备上运行现有的 java 应用程序 java应用程序是为服务器端开发的并使用JDBC 我的问题是Java应用程序使用java sql DriverManager J9运行时或任何CD
  • 如何使用 Npgsql 管理 SQLserver 到 PostgreSQL 的迁移?

    我正在用 C 编写一个使用 MVC 模式的 Web 应用程序作为实习 我正在尝试将 EntityFramework 创建的 SQLserver 数据库迁移到 PostgreSQL 数据库 我在网上找到了一个解决方案 Npgsql 它似乎完成
  • 按日期分组,不包含时间

    我想知道是否有一种方法可以在计算日期时将 2014 01 26 05 39 29 000 和 2014 01 26 07 45 31 000 分组为一天 我目前有以下代码 仅按其唯一的日期时间对它们进行分组 SELECT ETK Expir
  • Mercurial - 在不知道名称的情况下提取所有远程书签?

    Mercurial 中是否有一个选项允许我提取所有远程书签而无需提前知道它们的名称 On the Mercurial 书签页面 http mercurial selenic com wiki Bookmarks 它提到当我clone一个存储
  • 重定向/返回到 Django 中的同一(上一个)页面?

    当您想要将用户返回到 Django 中的同一页面时 有哪些选项 每个选项的优缺点是什么 我知道的方法 HTTP REFERER 包含先前 URL 的 GET 参数 用于存储先前 URL 的会话数据 还有其他的吗 其中一种方法是使用HTTP
  • 导入错误:没有名为 parse 的模块

    我正在尝试使用 mongodb 和 pymongo 运行 Web 应用程序来提供数据库中的数据 我收到的错误是 ImportError 没有名为 parse 的模块 请参阅以下来自 apache2 Web 服务器的 error log mo
  • CSS:模糊和反转整个页面的颜色

    当同时使用 webkit 过滤器 模糊 和 反转 时 只有模糊有效 如果 模糊 被删除 反转 就可以了 此外 只有 Chrome 和 Opera 响应该代码 有没有办法让它适用于最新的 IE 和 Firefox 版本 body webkit
  • 在重新启动时保留 ASP.NET 应用程序状态

    有什么好方法可以在重新启动后保留 ASP NET 应用程序状态吗 我希望能够设置一些值重新启动应用程序并让它们仍然存在 我想主要针对甚至不需要数据库的小型 一次性 测试 Web 应用程序执行此操作 有没有办法用静态成员和序列化来做到这一点
  • 如何在没有C库的情况下将整数转换为字符?

    在 C 编程练习中 我被要求在不使用 C 库的情况下将 int 转换为 char 知道如何去做吗 编辑 我所说的 int 是内置的 C C 类型 Thanks Cast it char c char i 或者也许你是这个意思 char c
  • 在大屏幕上修复 FireFox 与 Chrome 中的网站大小

    看起来 Gecko Trident 和 Webkit 在高分辨率屏幕上显示网页的方式不同 Chrome 和新 Opera 等 Webkit 浏览器会缩小页面以匹配屏幕的像素分辨率 然而 这可能会使小文本很难阅读 另一方面 Firefox 和
  • -[__NSCFNumber isEqualToString] 错误

    我遇到了这个崩溃 但是 在我的代码中我使用了一个字符串 我现在已经在这一段代码上工作了 2 个小时 但我看不出我错过了什么 有任何想法吗 NSString codeR NSString stringWithFormat object obj
  • Docker 无法在带有 WSL 2 的 Windows 11 上启动

    我正在尝试使用 WSL 2 设置 docker 来运行 Dockerfile 我下载了 Docker Desktop 当我尝试按照快速入门指南进行操作时 出现以下错误 docker error during connect This err
  • 已回答 - JavaFX:单击时 SubScene 不会在 TabPane 内聚焦? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 看起来像是SubScene or TabPane不是我所期望的或者有问题 Because而不是被专注于Subscene 1 when i
  • Chisel3:对 Vector IO 的多位切片的部分分配

    可以对向量 IO 进行部分赋值 如下所示 import chisel3 class example 1 extends Module val io IO new Bundle val in1 Input Vec 4 Bool val out
  • 基于php的文档管理系统[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 谁能推荐一个简单的文档管理系统和一个不错的网络服务界面 我正在考虑使用它来提供从 ajax Web 应用程序上传的文件的元数据管理 我尝试
  • SVN 仅从存储库更新特定文件

    这个存储库有很多很多 GB 其中 99 是我不需要的 我想做的是仅获取 更新 js css html doc和 pdf 文件 其余的都是巨大的 我想留在那里 而不是浪费时间和磁盘空间 因为我不需要查看它们 而且我永远不会更改它们 我意识到
  • 将 pv 输出(stderr)打印到文件

    我怎样才能打印stderr questions tagged stderr的输出pv questions tagged pv到一个文件 例如 timeout 5s dd if dev random pv r gt dev null 505k
  • UIButton 图像位置取决于 titleLabel 的框架

    我的问题很简单 但我找不到解决方案 我有一个带有标题和图像的 UIButton 我希望无论发生什么情况图像位置都是固定的 所以我这样设置 button setImageEdgeInsets UIEdgeInsetsMake 0 f 0 f