扩大UIButton的选区

Posted xfgnongmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩大UIButton的选区相关的知识,希望对你有一定的参考价值。

? ? ? 设计为了美观。button有时设计的太小,这么一来是好看了。可是button不好点中了。曾经有非常多解决方法,如用hitTest等方法。

都比較复杂。后来我发现一个简单的方法。

原理就是UIButton setImage时,假设image比button小,就会自己主动居中显示。

所以非常easy,仅仅用将button的frame不按图的大小设,而是设大一点,就能够增大button的选区了。

例如以下:

? ? UIButton* btn = [UIButton buttonWithType:UIButtonTypeCustom];
? ? //button的frame比图大。以扩大button的选区。
? ? btn = CGRectMake(239, 0, 60, 44);
? ? //setImage后。图会自己主动居中。注意,不能用setBackgroundImage。


? ? [btn setImage:[UIImage imageNamed:@"a-image"] forState:UIControlStateNormal];
? ? [btn addTarget:self action:@selector(toggle:) forControlEvents:UIControlEventTouchUpInside];

以上是关于扩大UIButton的选区的主要内容,如果未能解决你的问题,请参考以下文章

iOS之扩大UIButton(UIView)的点击范围

UIButton 填充

如何在不挤压背景图像的情况下扩展 UIButton 的 hitTest 区域?

如何扩大 MPVolumeView 路由按钮区域?

从 UIButton 中获取 UIButton 的标签,该 UIButton 位于此 UIButton 呈现的弹出框中

如何删除多个 UIButton 或动态创建的特定 UIButton?