反转 UIBarButtonItem“播放”以用作后退按钮?

Posted

技术标签:

【中文标题】反转 UIBarButtonItem“播放”以用作后退按钮?【英文标题】:Inverting UIBarButtonItem "Play" for use as a Back Button? 【发布时间】:2010-07-07 23:56:09 【问题描述】:

好的,很简单。

我正在编写一个简单的网络视图,并提供一些类似 Safari 的导航控件。

播放似乎是前进按钮的明显选择,但我也希望有一个后退按钮,就像在几个 Apple 和第三方应用程序中看到的那样。

有没有办法反转图标,使其指向后方,或者所有使用此设置的应用程序都使用图像来复制此功能?

【问题讨论】:

【参考方案1】:

Unicode 是你的朋友。

创建一个 UIBarButtonItem(在 Interface Builder 或代码中)并将其设置为“自定义”,您可以在其中为按钮输入文本。

现在使用这些 Unicode 字符来模拟后退和前进按钮:

◄ 和 ►

我在我的应用程序中使用它,它看起来很棒。

【讨论】:

这对我有用——非常感谢。您是否遇到过这种技术的任何缺点? 在较旧的 ios (3.0) 上,它具有不同的大小。除此之外效果很好。【参考方案2】:

我知道这个问题很久以前就已经回答了,但只是补充一下......

是的,您可以使用 Unicode,但它看起来与标准 ios 按钮不同。如果你对匹配 ios 外观有严格的要求,那么你至少需要为后退按钮制作一个图像,在这种情况下,只需下载播放图像并翻转它。

UIImage *image = [UIImage imageNamed:@"backButton.png"];
UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
[btnBack setImage:image forState:UIControlStateNormal];
btnBack.frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);

UIBarButtonItem * btnItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];
[btnItem addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
// add it to your bar
self.navigationItem.leftBarButtonItem = btnItem;

(在没有拼写检查的情况下编写...所以要小心可能导致的拼写错误)

// 按钮图像在这里。 http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html

【讨论】:

【参考方案3】:

您可以使用atPeek 从使用它的应用程序中提取播放按钮 png,然后使用任何图像处理程序来翻转它。

【讨论】:

以上是关于反转 UIBarButtonItem“播放”以用作后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章

touchesBegan 时 UIBarButtonItem 的扩展

工具栏自定义 UIBarButtonItem 位置和宽度

无法将 NSMutableArray 类型的值分配给 UIBarButtonItem 类型

将 UiBarButtonItem 上的 UIImage 从标识符更新为图像

如何拆分 UIBarButtonItem?

让 UIBarButtonItem 指向右侧的标准方法?