gpt4 book ai didi

ios - 向自定义 Navigation BarButtonItem 添加操作和目标?

转载 作者:可可西里 更新时间:2023-11-01 03:41:58 24 4
gpt4 key购买 nike

我正在尝试通过向 rightBarButtonItem 添加自定义按钮来自定义导航栏。创建一个非常简单。

UIImage *myImage = [UIImage imageNamed:@"menu-icon.png"];

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setFrame:CGRectMake(0, 0, myImage.size.width, myImage.size.height)];
[myButton setBackgroundImage:myImage forState:UIControlStateNormal];

UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc] initWithCustomView:myButton];

[navItem setLeftBarButtonItem:myButtonItem animated:YES];

看起来不错,只是现在我无法设置目标或操作属性。以下代码什么都不做:

myButtonItem.target = myTarget;
myButtonItem.action = @selector(myButtonAction);

我发现它不起作用的原因是因为我用 -initWithCustomView 初始化了 UIBarButtonItem。苹果文档说:

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

我对 apple 的确切含义感到有点困惑。我应该创建一个自定义控件还是什么?我还没有真正做到这一点,我不确定从哪里开始。

有人对如何执行此操作或设置自定义导航栏按钮的替代方法有任何建议吗?

已回答---------------------------------------- --------------

只需将此方法添加到 UIButton:

[myButton addTarget:myTarget action:@selector(myButtonAction) forControlEvents:UIControlEventTouchUpInside];

最佳答案

非常简单,您需要为 uibutton 添加目标,而不是为 uibarbuttonitem 添加目标。

为了进一步解释您想要的 uibarbuttonitem 是在 action 方法中响应触摸,因为文档说您需要为 uibutton 执行此操作,因为您在案例 uibutton 中使用自定义 View 初始化 uibarbuttonitem。

关于ios - 向自定义 Navigation BarButtonItem 添加操作和目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17979385/

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