您的位置:首页 > 产品设计 > UI/UE

解决UIBarButtonItem不能发送Target的Action消息的办法。

2011-03-08 15:11 316 查看
最近在做一个项目,要用到UIBarButtonItem

本来是很简单的东西,但是如果你不用

– initWithImage:style:target:action:
– initWithTitle:style:target:action:


这两个初始化函数,而用target和action这两个属性,,,,,

那么奇怪的问题就出现了,action根本就得不到调用。

你就只能这样。

UIButton* backButton = [[UIButton alloc] init];
[backButton setImage:[UIImage imageNamed:@"first.png"] forState:UIControlStateNormal];
[backButton setImage:nil forState:UIControlStateSelected];
[backButton addTarget:self action:@selector(pushBackToFirstPage:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* leftButton = [[UIBarButtonItem alloc] initWithCustomView:backButton];

self.navigationItem.leftBarButtonItem = leftButton;
backButton.frame = CGRectMake(0,0,51,32);

[backButton release];
[leftButton release];


- (void) pushBackToFirstPage:(id)sender
{
UINavigationController* nav = (UINavigationController*)self.parentViewController;
[nav popToRootViewControllerAnimated:YES];
}


这样就能调用了。

就是必须设置你的customView的action才行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐