如何获取UIBarButtonItem的嵌入按钮

Jag*_*gie 7 iphone uibutton uibarbuttonitem

在iPhone应用程序中,我们可以使用以下代码制作UIBarButtonItem:

UIBarButtonItem *bbix=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)

生成的UIBarButtonItem有一个系统提供的"动作"图标.我的问题是:如何获取这个UIBarButtonItem的内部UIButton并将此UIButton添加到另一个UIView?谁能告诉我一些代码?

Sha*_*rog 12

你不能.UIBarButtonItem继承自的UIBarItem继承NSObject.这些类中没有一个方法可以获得a UIButton,因为UIBarButtonItem不是a UIButton.

反之,您可以创建一个UIBarButtonItem从一个UIButton-看一个答案我给了一个不同的问题的详细信息(其中工程可以将其作为一个"自定义视图").


Aug*_*ine 6

访问bar按钮项的"customView"属性是一种可能的解决方案:

UIBarButtonItem *item = (UIBarButtonItem *)[self.navigationItem.rightBarButtonItems objectAtIndex:0];
                     OR
UIBarButtonItem *item = (UIBarButtonItem *)[self.navigationItem.rightBarButtonItem];

UIButton *myBtn;

if([item.customView isKindOfClass:[UIButton class]]) 
{ 
    myBtn = (UIButton*)item.customView;
}

if(myBtn)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

试试吧.它真的适合我:)