UI 按钮对触摸事件的响应不一致

问题描述 投票:0回答:1

我将 UI 按钮放置在 UIKit 应用程序故事板的堆栈视图中。我启用了堆栈视图和按钮的用户交互。我的按钮宽度和高度是20,20。我使用这个 UIbutton 作为复选框,有时它是响应式的,有时我必须单击多次。我尝试增加盒子的大小,但没有成功。当我使用指甲尖时,它可以工作,如果我使用整个手指,它就不起作用。我想当我的手指同时触摸 stackview 和按钮时它不会工作

ios swift uikit uibutton
1个回答
0
投票

根据OP的评论发布这个答案......

问题与堆栈视图中的按钮无关——问题在于按钮的大小。

Apple 的人机界面指南指出:

作为一般规则,按钮需要至少 44x44 pt 的点击区域

这不是一个 要求,但正如您所见,持续点击 20x20 按钮可能非常困难。

“复选框按钮”的选项可能包括:

  • 从更大的按钮开始
  • 更大的按钮框架,带有复选框图像(比框架小)
  • 子类化并使用
    hitTest(_:with:)
    来扩展触摸区域
  • 使用
    UIButton
    以外的UI元素并处理触摸

由您决定哪种方法最适合您的整体设计/UI 目标。

© www.soinside.com 2019 - 2024. All rights reserved.