BPBarButtonItem 0.0.3

BPBarButtonItem 0.0.3

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2014年12月

未指定用户 维护。




  • Cory Imdieke

BPBarButtonItem 是一个用于动态创建看起来很棒的自定义 UIBarButtonItems 的工具。BPBarButtonItem 并不是一个 UIBarButtonItem 的子类,而是一个 NSObject,它可以创建皮肤化的普通 UIBarButtonItem 以供您按需使用。BPBarButtonItem 还可以用于皮肤已创建的 UIBarButtonItem,如 nib 或 Storyboard 中,这些按钮支持两种方向样式,并自动正确显示为返回按钮。

BPBarButtonItem Screenshot 1

BPBarButtonItem Screenshot 2

BPBarButtonItem Screenshot 3

BPBarButtonItem Screenshot 4

BPBarButtonItem Screenshot 5

BPBarButtonItem Screenshot 6

安装

从源代码安装

  • BPBarButtonItem/ 文件夹拖到您的项目中(确保您复制了所有文件/文件夹)
  • #import "BPBarButtonItem.h"

如何使用

使用 BPBarButtonItem 有 3 种主要方法

在代码中创建全新的按钮

这将允许您动态创建全新的 UIBarButtonItem。您可以使用预定义的任何样式或设置自己的蒙版颜色。

self.navigationItem.rightBarButtonItem = [BPBarButtonItem barButtonItemWithStyle:BPBarButtonItemStyleAction title:@"Action" target:self  action:@selector(buttonAction:)];
self.navigationItem.rightBarButtonItem = [BPBarButtonItem barButtonItemWithTintColor:[UIColor redColor] title:@"Red" target:self action:@selector(buttonAction:)];

皮肤现有按钮(通常从 nib 或 Storyboard 中)

这将皮肤任何现有的 UIBarButtonItem。标题、操作和其他属性不会被修改。这可以通过 IBOutlet 或者直接访问 navigationItem's 的右和左按钮属性来完成。

[BPBarButtonItem customizeBarButtonItem:self.navigationItem.rightBarButtonItem withStyle:BPBarButtonItemStyleStandardDark];
[BPBarButtonItem customizeBarButtonItem:self.navigationItem.rightBarButtonItem withTintColor:[UIColor colorWithRed:0.048 green:0.169 blue:0.458 alpha:1.000]];

使用外观代理设计所有按钮

想要皮肤应用中所有按钮的外观,但不想分别设置每个按钮?设置默认按钮样式几乎与皮肤现有按钮相同,只是您需要将按钮项传递为 nil。您通常会希望在您的 application:didFinishLaunchingWithOptions: 方法中完成此操作。

[BPBarButtonItem customizeBarButtonItem:nil withStyle:BPBarButtonItemStyleStandardDark];

注意,在使用外观代理方法的情况下,您仍然可以使用上述现有按钮皮肤方法覆盖单个按钮。

您还可以更复杂,传递特定的外观代理。例如,这可以用于皮肤 UINavigationBar 中的按钮,但不皮肤 UIToolbar 中的按钮。

[BPBarButtonItem customizeBarButtonItem:[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] withStyle:BPBarButtonItemStyleStandardLight];

皮肤复选按钮

您可以直接使用外观代理来修改UISegmentedControl的样式。语法类似于上面的UIBarButtonItems。

[BPBarButtonItem customizeSegmentedControl:mySegmentedControl withStyle:BPBarButtonItemStyleStandardDark];
[BPBarButtonItem customizeSegmentedControl:nil withStyle:BPBarButtonItemStyleStandardDark];

BPBarButtonItem无法实现的功能

BPBarButtonItem创建的是标准的UIBarButtonItem,因此它们具有相同的限制。您不能在导航栏或工具栏之外使用它们。如果您正在寻找一个优雅的UIButton替代品,请检查BButton

许可证

MIT许可证

版权所有(c)2013 Cory Imdieke

在此特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人,无限制地处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件的人从事此类行为,但受以下条件约束

上述版权声明和本许可声明应包含在软件的全部或实质部分副本中。

该软件按“原样”提供,不提供任何形式的保证,无论是明示的、默示的,包括但不限于对适销性、针对特定目的的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同、侵权或其他行为中产生的,无论是源于、出于或与该软件有关,还是使用或以其他方式处理该软件。

联系与归因

归因很好,但不是必需的。
https://twitter.com/CoryImdieke

感谢Brian Gilham在设计细节上的帮助。
https://twitter.com/bgilham