OBShapedButton
OBShapedButton 是一个针对非矩形按钮形状优化的 UIButton 子类。OBShapedButton 实例只在分配给按钮的用于 UIControlStateNormal 的图像非透明区域内响应用户触摸。
如何安装
通过 CocoaPods 安装
如果可能的话,您应该通过 CocoaPods 安装 OBShapedButton
。
$ edit Podfile
platform :ios
pod 'OBShapedButton'
手动安装
如果您无法使用 CocoaPods,手动将 OBShapedButton.h, OBShapedButton.m, UIImage+ColorAtPixel.h, 和 UIImage+ColorAtPixel.m 添加到您的 Xcode 项目中。
使用方法
- 使用 Interface Builder 设计您的 UI,并像往常一样设置 UIButtons。将按钮类型设置为自定义,并根据需要提供不同控制状态的透明 PNG 图片。
- 在 Interface Builder 中的 Identity Inspector 中,将按钮的类设置为
OBShapedButton
。就这些!您的按钮现在将只会对非透明正常控制状态的 PNG 图像做出触摸响应。
致谢
由 Ole Begemann 编写,[email protected]
http://oleb.net/blog/2009/10/obshapedbutton-non-rectangular-buttons-on-the-iphone/
2009 年 10 月
2011 年 4 月修正了一些严重的错误。感谢我的博客评论者和在 GitHub 上提交问题的人指出这些问题,包括修正。
贡献者
- balabhadra 增加了背景图像的支持。
- yurkins 修复了仅在发布版本中发生的问题。
- Steven Zweier 修复了会间歇性地导致错误命中测试的问题。
- jvanakker 修复了按钮和图片大小不一致的问题。
MIT 许可证
版权所有 (c) 2009 Ole Begemann
任何获得此软件及其相关文档文件(“软件”)副本的人,允许免费使用软件而不受限制,包括但不限于使用、复制、修改、合并、发布、分发、转授许可和/或销售软件复制品,并允许向软件提供者提供的人这样做,前提是
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、适用于特定目的和未经侵权保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他行为中产生的,是否与软件或软件的使用或其他交易有关。