navigationItem.rightBarButtonItem 实现多个右侧按钮

本文将介绍如何在iOS应用中实现多个右侧导航按钮的功能,包括使用UIBarButtonItem创建按钮和响应点击事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

navigationItem.rightBarButtonItem 实现多个右侧按钮

       UIBarButtonItem *cleanButton = [[UIBarButtonItem alloc] initWithTitle:@"清空"
                                                                        style:UIBarButtonItemStylePlain  
                                                                       target:self       
                                                                       action:@selector(cleanTextView)];
        UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:@"保存"
                                                                       style:UIBarButtonItemStylePlain  
                                                                      target:self       
                                                                      action:@selector(saveTextView)];
        NSArray *buttonArray = [[NSArray alloc]initWithObjects:cleanButton,saveButton, nil];
        self.navigationItem.rightBarButtonItems = buttonArray;
        [cleanButton release];
        [saveButton release];
        [buttonArray release];
    }else{
        UIView * rightButtonParentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
        rightButtonParentView.backgroundColor = [UIColor clearColor];
        
        int buttonSize = 32;
        int rightOffset = 20;
        UIButton * cleanButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 6, buttonSize, buttonSize)];
        UILabel *cleanLabel = [[UILabel alloc]initWithFrame:CGRectMake(5, 10, 22, 10)];
        cleanLabel.text = @"清空";
        cleanLabel.font = [UIFont systemFontOfSize:10];
        [cleanButton addSubview:cleanLabel];
        [cleanLabel release];
        [cleanButton setBackgroundColor:[UIColor whiteColor]];
//        [setButton setTitle:@"清空" forState:UIControlStateNormal];
        [cleanButton addTarget:self action:@selector(cleanTextView) forControlEvents:UIControlEventTouchUpInside];
        [rightButtonParentView addSubview:cleanButton];
        [cleanButton release];
        
        
        UIButton * saveButton = [[UIButton alloc] initWithFrame:CGRectMake(rightButtonParentView.frame.size.width - buttonSize - rightOffset, 6, buttonSize, buttonSize)];
        UILabel *saveLabel = [[UILabel alloc]initWithFrame:CGRectMake(5, 10, 22, 10)];
        saveLabel.text = @"保存";
        saveLabel.font = [UIFont systemFontOfSize:10];
        [saveButton addSubview:saveLabel];
        [saveLabel release];
        [saveButton setBackgroundColor:[UIColor whiteColor]];
        [saveButton addTarget:self action:@selector(saveTextView) forControlEvents:UIControlEventTouchUpInside];
        [rightButtonParentView addSubview:saveButton];
        [saveButton release];
        
        
        UIBarButtonItem * rightButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightButtonParentView];
        [rightButtonParentView release];                            
        self.navigationItem.rightBarButtonItem = rightButtonItem;
        [rightButtonItem release];
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值