我想在UIToolbar中创建一个“后退”左箭头边框按钮。

据我所知,获得其中一个的唯一方法是将UINavigationController保留在默认设置,它使用一个用于左侧栏项。但没有办法我可以找到创建一个作为一个UIBarButtonItem,所以我不能在一个标准的UIToolbar,即使他们非常类似于UINavigationBars。

我可以用按钮图像手动创建它,但我在任何地方都找不到源图像。它们有alpha通道边缘,所以截图和剪切不会得到非常通用的结果。

对于我打算使用的每种尺寸和配色方案,除了截图之外还有什么想法吗?

更新:请停止回避问题,并建议我不应该问这个,应该使用UINavigationBar。我的应用程序是Instapaper Pro。它只显示了一个底部工具栏(以节省空间和最大化可读内容区域),我希望在底部放置一个左箭头形状的后退按钮。

告诉我,我不需要这样做不是答案,当然也不值得赏金。


当前回答

如果你想避免自己绘制它,你可以使用没有文档的类:风格1的UINavigationButton。当然,这可能会阻止你的申请被批准。 /约翰

其他回答

解决方案不使用png。基于这个SO答案:在iPhone TableView单元格中添加小箭头到单元格的右侧

只是水平翻转UITableViewCell !

UIButton *btnBack = [[UIButton alloc] initWithFrame:CGRectMake(0, 5, 70, 20)];

// Add the disclosure
CGRect frm;
UITableViewCell *disclosure = [[UITableViewCell alloc] init];
disclosure.transform = CGAffineTransformScale(CGAffineTransformIdentity, -1, 1);
frm = self.btnBack.bounds;
disclosure.frame = CGRectMake(frm.origin.x, frm.origin.y, frm.size.width-25, frm.size.height);
disclosure.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
disclosure.userInteractionEnabled = NO;
[self.btnBack addSubview:disclosure];

// Add the label
UILabel *lbl = [[UILabel alloc] init];
frm = CGRectOffset(self.btnBack.bounds, 15, 0);
lbl.frame = frm;
lbl.textAlignment = NSTextAlignmentCenter;
lbl.text = @"BACK";
[self addSubview:lbl];

I'm not sure if this would work, but you could try creating a UINavigationController with the default settings to create the button, find the button in the navigation controller's subview hierarchy, call removeFromSuperview on it, destroy the navigation controller, and then add the button as a subview of your toolbar. You may also need to retain and the button before calling removeFromSuperview (and then release it after adding it as subview of your toolbar) to avoid it being deallocated during the process.

如果你想避免自己绘制它,你可以使用没有文档的类:风格1的UINavigationButton。当然,这可能会阻止你的申请被批准。 /约翰

要为UIToolbar创建一个图像,在photoshop中制作一个png,无论哪里有任何颜色,它都会把它放在白色,而当它的alpha = 0时,它就会离开它。

SDK实际上是在你所创建的图标周围设置边界,并在你不需要做任何事情的情况下将其变成白色。

看,这是我在Photoshop中为前进按钮做的(显然是把它换成后退按钮):

http://twitpic.com/1oanv

这是它在Interface Builder中出现的样子

http://twitpic.com/1oaoa

我有一个类似的问题,并拿出一个库PButton。示例是类似于后退导航按钮的按钮,它可以像自定义按钮一样在任何地方使用。

就像这样: