ATNavBarButton 1.1

ATNavBarButton 1.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年5月

Jean-Pierre Fourie 维护。




ATNavBarButton 1.1

UIBarButtonItem 的子类,可以将自定义按钮或 indicatorView 用一行代码插入到您的 navigationBar 中。

特性

  • 一行代码
  • 一个方法来处理所有按钮动作
  • 在需要时更改到任何按钮
  • 自定义指示器视图和按钮颜色
  • 更改或添加您自己的图像
  • 在所有 3 个缩放级别上有 35 个预定义的 FontAwesome 图标

示例

默认颜色

ATNavBarButton1

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationItem setLeftBarButtonItem:[ATNavBarButton setBarButton:ATNavBarButtonUser withDelegate:self]];
    [self.navigationItem setRightBarButtonItem:[ATNavBarButton setBarButton:ATNavBarButtonSettings withDelegate:self]];
}

自定义颜色

ATNavBarButton2

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationItem setLeftBarButtonItem:[ATNavBarButton setBarButton:ATNavBarButtonMenu withColor:UIColorFromRGB(0x5a4d8c) withDelegate:self]];
    [self.navigationItem setRightBarButtonItem:[ATNavBarButton setBarButton:ATNavBarButtonRefresh withColor:[UIColor redColor] withDelegate:self]];
}

指示器视图

ATNavBarButton3

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationItem setLeftBarButtonItem:[ATNavBarButton setBarButton:ATNavBarButtonArrowLeft withColor:UIColorFromRGB(0x5a4d8c) withDelegate:self]];
    [self loadIndicatorView:YES];
}

- (void)loadIndicatorView:(BOOL)loading
{
    if (loading) {
        [self.navigationItem setRightBarButtonItem:[ATNavBarButton setIndicatorButtonWithColor:[UIColor orangeColor] withDelegate:self]];
    } else {
        [self.navigationItem setRightBarButtonItem:[ATNavBarButton setBarButton:ATNavBarButtonRefresh withColor:[UIColor redColor] withDelegate:self]];
        // or [self.navigationItem setRightBarButtonItem:nil]; to remove the indicator or button if you don't have a manual refresh button
    }
}

委托

当前只有左右导航按钮,但你可以在任何时候设置任何按钮。这是处理它们的动作的地方

- (void)ATNavBarButton:(ATNavBarButton *)barButton didPressBarButton:(ATNavBarButtonPressed)buttonPressed
{
    if (buttonPressed == ATNavBarButtonBack) {
        [self.navigationController popViewControllerAnimated:YES];
        
    } else if (buttonPressed == ATNavBarButtonArrowRight) {
        NextViewController *nextController = [NextViewController new];
        [self.navigationController pushViewController:nextController animated:YES];
        
    } else if (buttonPressed == ATNavBarButtonRefresh) {
        [self reloadContent];
        
    } else if (buttonPressed == ATNavBarButtonDownload) {
        [self downloadFile:@"https://www.emotality.com/development/GitHub/ATNavBarButton-1.png"];
    }
}

安装

手动

  • ATNavBarButton 文件夹复制到您的项目中
  • 在所需的类中添加 #import "ATNavBarButton.h"
  • 添加 <ATNavBarButtonDelegate> 协议
  • 添加类似上面的委托方法 ATNavBarButton:didPressBarButton:

CocoaPods

  • pod 'ATNavBarButton' 添加到 podfile 中
  • 在所需的类中添加 #import "ATNavBarButton.h"
  • 添加 <ATNavBarButtonDelegate> 协议
  • 添加类似上面的委托方法 ATNavBarButton:didPressBarButton:

许可证

ATAppUpdater 使用 MIT 许可证发布。有关详细信息,请参阅 LICENSE