我使用UIButton自动布局.当图像很小时,点击区域也很小.我可以想象几种方法来解决这个问题:

  1. 增加图像大小,即在图像周围放置一个透明区域.这并不好,因为当您定位图像时,您必须牢记额外的透明边框.
  2. 使用CGRectInset并增加大小.这不适用于自动布局,因为使用自动布局时,它将退回到原始图像大小.

Beside the two approaches above is there a better solution to increase the tap area of a UIButton?

推荐答案

您只需调整按钮的内容插页即可获得所需的大小.在代码中,它将如下所示:

button.contentEdgeInsets = UIEdgeInsets(top: 12, left: 16, bottom: 12, right: 16)
//Or if you specifically want to adjust around the image, instead use button.imageEdgeInsets

在interface builder中,它将如下所示:

界面生成器

Ios相关问答推荐

StackView UIKit间距似乎非常小的编程式编程

创建带有Flutter 翼的会所头像

SwiftUI检测顶级和安全区域插图

Flutter 翼项目.升级到XCode 15.0.1`pod install`抛出错误FlutterMacOS.podspec.json 3.13.2的ParserError

为什么AVSpeechSynthesizer复制的信息比我的文本多?

如何在 Flutter 应用程序中测试来自 App/Play Store 的移动深层链接?

每次我路由到应用程序的主屏幕时,都无法使组合订阅正常工作

@Query与SwiftData数据列表绑定

使用按位|带有布尔操作数

@MainActor 类的扩展是主要演员吗?

iOS - 判断开发者模式是否开启 (Swift)

如何在 SwiftUI 中对表格行使用 Transferable

一对多关系 Firebase 实时数据库(嵌入数百万条 comments )

SwiftUI 中的偏移量和按钮有问题吗?

.onAppear() 函数不适用于 NavigationLink

文本未包含在 swift UI 中

如何进行键值观察并在 UIView 的框架上获取 KVO 回调?

使用 Xcode 的 All Exceptions 断点时忽略某些异常

如何找到 UILabel 的实际行数?

Info.plist 实用程序错误:无法打开 Info.plist,因为没有这样的文件