给UIBarButtonItem增加分类快速创建左右按钮

这个博客内容展示了如何使用 Objective-C 的类别扩展(Category Extension)为 UIBarButtonItem 添加一个自定义初始化方法,该方法允许设置普通状态和选中状态的图片,并指定点击事件的响应目标和动作。
摘要由CSDN通过智能技术生成
#import "UIBarButtonItem+extension.h"

@implementation UIBarButtonItem (extension)

+ (instancetype)itemWithImage:(UIImage *)image andSelectImage:(UIImage *)selectImage target:(id)target method:(SEL)action;
{
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    
    [button setBackgroundImage:image forState:UIControlStateNormal];
    [button setBackgroundImage:selectImage forState:UIControlStateSelected];
    
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    button.size = button.currentBackgroundImage.size;
    return [[self alloc] initWithCustomView:button];
    
}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS 应用程序中,通常使用导航条来进行视图控制器之间的导航。要给视图加上导航条,可以使用导航控制器来管理视图控制器,并自动添加导航条。下面举例说明如何给视图加上导航条: 1. 创建导航控制器 首先,需要创建一个导航控制器,并将根视图控制器设置为要添加导航条的视图控制器。例如,可以在 `AppDelegate.m` 文件的 `application:didFinishLaunchingWithOptions:` 方法中添加以下代码来创建导航控制器和根视图控制器: ``` // 创建根视图控制器 UIViewController *rootViewController = [[UIViewController alloc] init]; // 创建导航控制器 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; // 将导航控制器设置为窗口的根视图控制器 self.window.rootViewController = navigationController; ``` 这段代码创建了一个根视图控制器和一个导航控制器,并将导航控制器设置为应用程序的根视图控制器。此时,导航条已经自动添加到视图控制器中。 2. 添加子视图控制器 接下来,可以向导航控制器中添加一个或多个子视图控制器。例如,可以在 `rootViewController` 中添加一个子视图控制器,并设置其标题和导航按钮: ``` UIViewController *childViewController = [[UIViewController alloc] init]; childViewController.title = @"Child View Controller"; UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil]; childViewController.navigationItem.backBarButtonItem = backButton; [navigationController pushViewController:childViewController animated:YES]; ``` 这段代码创建了一个名为 `childViewController` 的子视图控制器,并将其添加到导航控制器中。该代码还设置了子视图控制器的标题和导航按钮,并使用 `pushViewController:animated:` 方法将子视图控制器推入导航堆栈中。 3. 处理导航按钮点击事件 当用户按下导航按钮时,需要响应相应的事件并导航到相应的视图控制器。在上面的示例中,当用户按下 "Back" 按钮时,将自动返回到上一个视图控制器。如果需要处理其他导航按钮点击事件,可以在相应的子视图控制器中实现相应的方法。 这些步骤可以帮助你给视图加上导航条,并使用导航控制器来管理视图控制器之间的导航。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值