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

    技术2022-05-19  34

    最近在做一个项目,要用到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才行。


    最新回复(0)