Iphone 如何定位UIBarbuttonite并向其添加图像?

Iphone 如何定位UIBarbuttonite并向其添加图像?,iphone,ios7,xcode5,uibarbuttonitem,Iphone,Ios7,Xcode5,Uibarbuttonitem,截图如下: 哎, 我不是一个程序员,除了一些HTML/CSS之外,我没有太多的过期功能。我只是一个普通的家伙,试图建立他的第一个应用:) 这是我当前的问题:我想给UINavigationBar中的每个按钮赋予它自己的图像,并将它们放置在工具栏上,而不是像屏幕截图中所示将其挂起。我希望左边的按钮在最左边的角落里,右边的按钮在最右边,再加上它们两个都向上一点 现在,我已经设法至少给所有按钮相同的图像(通过uibarbuttoniam外观)。当然那不是我的意图。每个按钮都应该有自己的图像 你能帮我解决

截图如下:

哎,

我不是一个程序员,除了一些HTML/CSS之外,我没有太多的过期功能。我只是一个普通的家伙,试图建立他的第一个应用:)

这是我当前的问题:我想给UINavigationBar中的每个按钮赋予它自己的图像,并将它们放置在工具栏上,而不是像屏幕截图中所示将其挂起。我希望左边的按钮在最左边的角落里,右边的按钮在最右边,再加上它们两个都向上一点

现在,我已经设法至少给所有按钮相同的图像(通过uibarbuttoniam外观)。当然那不是我的意图。每个按钮都应该有自己的图像


你能帮我解决这个问题吗?最简单的方法是什么?另外,我使用的是Xcode 5/iOS 7。

而不是使用外观代理(它将为uibarbuttonite的每个实例设置样式),您应该使用。

试试这段代码,可能会对您有所帮助

UIButton  *done=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, 44, 44)];
[done setBackgroundImage:[UIImage imageNamed:@"imageName.png"] forState:UIControlStateNormal];

UIBarButtonItem *done1=[[UIBarButtonItem alloc]initWithCustomView:done];

此代码肯定对您有帮助:

UIImage*bar_img=[UIImage ImageName:@“yourbarimage.png”]; [self.navigationController.navigationBar setBackgroundImage:bar\u img for barmetrics:uibarmetrics default]

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backBtnImage = [UIImage imageNamed:@"YourImage.png"]  ;
[backBtn setBackgroundImage:backBtnImage forState:UIControlStateNormal];
[backBtn addTarget:self action:@selector(ActionOnClick) forControlEvents:UIControlEventTouchUpInside];
backBtn.frame = CGRectMake(0, 0, 44, 44);

UIView *backview=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 44, 44)];
[backview addSubview:backBtn];

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:backview] ;
self.navigationItem.leftBarButtonItem = backButton;
[self.navigationController.navigationBar setHidden:NO];
试试这个

它会帮助你的。在ios 6和ios 7中

UIImage *image = [UIImage imageNamed:@"filer_iphone.png"];
//for only ios 7
if ([UIImage instancesRespondToSelector:@selector(imageWithRenderingMode:)])
{
    image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
UIBarButtonItem *item=[[UIBarButtonItem alloc]
                                 initWithImage:image style:UIBarButtonItemStyleBordered      target:self   action:@selector(onSettingsClicked:)];
[self.navigationItem setRightBarButtonItem:rightBarButoom];

同样适用于左UIBarButton。

非常感谢,但我收到一条警告:“未声明的选择器‘onSettingsClicked’以及一个错误:“使用未声明的标识符‘rightBarButoom’”“。正如我前面提到的,我绝不是一个程序员,我只是不知道这一切意味着什么。嘿,这是一个选择器,你必须声明。我已经尝试过谷歌它,但我似乎不明白这意味着什么。”。从目前为止的情况来看,我不得不用偏执狂来命名一种方法,对吗?那么我必须首先为按钮创建一个方法吗?Thx。但这会导致一个警告:“未使用的变量‘done1’”。你知道为什么会这样吗?在上面的代码中,我想说的是,添加你自己的按钮添加分配到你的导航栏按钮。。就像我分配“done1”按钮一样。就是这样!我不得不尝试一下CGRectMake,但我可以将按钮定位在需要的位置,而且它还有一个背景图像。唯一的问题是按钮不再工作了。这就是在我添加你的代码之前它所做的事情,你的代码
\u barButton.target=self.revealViewCrontroller
\u barButton.target=@selector(Revealtogle:)。你能帮我解决这个问题吗?我自己发现了问题!在玩游戏时,我做了以下设置:
GCRectMake(0,0,0,44)]这可能意味着它不再是一个形状,而是一个笔划,因此无法单击。我把它改为
GCRectMake(0,0,44,44)]现在它就像一个符咒。祝你好运!我很想对你的答案投赞成票,但我现在没有足够的声望:(