UIImage *myImage = [UIImage imagenamed:@"menu-icon.png"];UIbutton *mybutton = [UIbutton buttonWithType:UIbuttonTypeCustom];[mybutton setFrame:CGRectMake(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.苹果文档说:
此方法创建的条形按钮项不会响应用户交互调用其目标的 *** 作方法.相反,bar按钮项期望指定的自定义视图处理任何用户交互并提供适当的响应.
我对苹果究竟意味着什么感到有些困惑.我应该创建一个自定义控件或什么?我还没有真正做到这一点,我不知道从哪里开始.
有没有人有关于如何做到这一点的建议或设置自定义导航栏按钮的替代方法?
ANSWERED ————————————————- ———
只需将此方法添加到UIbutton:
[mybutton addTarget:myTarget action:@selector(mybuttonAction) forControlEvents:UIControlEventtouchUpInsIDe];解决方法 这很简单,你需要为uibutton添加目标而不是uibarbuttonitem.
要解释更多你想要的uibarbuttonitem是响应内部动作方法,因为文档说你需要为uibutton做这个,因为你在你的案例uibutton中使用自定义视图初始化你的uibarbuttonitem.
总结以上是内存溢出为你收集整理的ios – 将 *** 作和目标添加到自定义导航BarButtonItem?全部内容,希望文章能够帮你解决ios – 将 *** 作和目标添加到自定义导航BarButtonItem?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)