gpt4 book ai didi

ios - UIBarButtonItem UINavigationBar 中的自定义 View

转载 作者:IT王子 更新时间:2023-10-29 08:10:23 25 4
gpt4 key购买 nike

我正在为 uinavigationbar 制作自定义栏按钮,我使用以下代码

 UIImageView *backImgView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"chk_back.png"]]; [backImgView setUserInteractionEnabled:YES];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:backImgView];
[backButton setTarget:self];
[backButton setAction:@selector(BackBtn)];
checkIn_NavBar.topItem.leftBarButtonItem = backButton;

问题是它没有调用它的 Action 。我做错了什么?

最佳答案

来自 Apple 文档:
使用指定的自定义 View 初始化新项。

- (id)initWithCustomView:(UIView *)customView

参数自定义 View 表示项目的自定义 View 。返回值具有指定属性的新初始化项。

讨论:由此方法创建的条形按钮项不会调用其目标的操作方法来响应用户交互。相反,栏按钮项需要指定的自定义 View 来处理任何用户交互并提供适当的响应。

解决方案:“使用背景图像创建按钮(为此按钮设置操作)并使用此按钮创建栏按钮”。例如:

UIButton *btn =  [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0,0,25,25)
[btn setBackgroundImage:[UIImage imageNamed:@"chk_back.png"] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(BackBtn) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc] initWithCustomView:btn];

关于ios - UIBarButtonItem UINavigationBar 中的自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16057567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com