【问题标题】:Mobile Safari-style back button for UIWebView?UIWebView 的移动 Safari 风格的后退按钮?
【发布时间】:2009-12-14 22:06:37
【问题描述】:

我无法在 Mobile Safari 中找到任何表示“返回”按钮的 UIBarButtonSystemItem。我希望我的 UIWebView 的控件看起来就像 Mobile Safari 中的控件,所以这很有意义。最好的解决方案是截屏 UIBarButtonSystemItemPlay(与前进按钮相同的图像)并翻转它吗?

谢谢。

【问题讨论】:

    标签: iphone objective-c uiwebview uibarbuttonitem


    【解决方案1】:

    我只是为自己制作的,基本上它们是精确的副本(尽管不要计算像素)。您可以以任何您喜欢的方式使用它们,无论是否用于商业用途。请不要试图出售它们。

    [文件已删除,iOS 7 为这些按钮引入了全新外观。]

    【讨论】:

    • 谢谢,他们很有帮助。但是,有人真的会为两个黑色三角形支付多少钱?
    • 我最近改造了我的网站,看起来我放弃了它们,因为 iOS 7 引入了新外观。
    • @ff10 能给我你的 webview 图标吗?我没有找到你上传的附件
    【解决方案2】:

    我认为正确的做法是尝试在某处找到原始图标(尝试终端,然后在 /Developer 目录中找到)。

    有可能

    /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/Applications/WebSheet.app/ArrowBack.png
    

    是正确的文件。

    仅截取屏幕截图是行不通的,因为工具栏图标基于 Alpha 级别而不是颜色。如果您截取屏幕截图并翻转它,您最终会得到一个实心方块作为您的按钮。

    【讨论】:

    • XCode 4.3.1 现在作为独立的应用商店应用分发。相关文件夹现在是 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Applications/WebSheet.app,但不幸的是它不再包含 ArrowBack.png 文件: (
    • 我刚刚在 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Applications/MobileSafari.app/FindOnPagePreviousResult 下找到了一些箭头。 png
    【解决方案3】:

    Unicode 是你的朋友。

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

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

    ◄ 和 ►

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

    【讨论】:

    • 这是个好主意,但是在我的情况下,三角形被压扁了。知道如何解决吗? Screenshot
    • 尝试使用不同的字体,或使用不同的三角形字符(参见此处:alanwood.net/unicode/geometric_shapes.html
    • 我试过这个,但它在按钮周围加了一个边框。 @PaulWieland 你是如何做到无国界的?大佬能分享一下代码吗?谢谢!
    • @MattDiPasquale 我相信界面生成器中有一个选项可以关闭边框
    【解决方案4】:

    我遇到了同样的问题,但找到了一个非常好的解决方案:

    http://outerlevel.com/blog/2008/12/26/code-example-drawing-the-iphone-back-button/

    但是你必须改变一些值

    如下:

    CGContextBeginPath(context);
    CGContextMoveToPoint(context, 8.0f, 12.0f);
    CGContextAddLineToPoint(context, 24.0f, 3.0f);
    CGContextAddLineToPoint(context, 24.0f, 21.0f);
    CGContextClosePath(context);
    CGContextFillPath(context);
    

    我只做了一点调整,因为后退按钮没有与前进按钮对齐,后退按钮太高了 1px。顺便说一句,我应该将其提交给社区 Wiki 吗?我是新来的...

    【讨论】:

    • 万岁 Unicode :) 上面使用 unicode 字符的解决方案非常出色而且非常简单!
    【解决方案5】:

    如果我只是将 unicode 用于指向左的三角形 @"\U000025C0",它会使用 Apple Color Emoji。 要使用没有颜色的简单符号,请使用文本样式 emoji("\U0000FE0E") 的 unicode 变体选择器。

    所以,指向左的三角形的字符串是@"\U000025C0\U0000FE0E"。

    我认为这只是 iPhone 模拟器上的问题(在支持 unicode 6.1 的 Mountain Lion 上),并且不会在实际设备上引起问题。

    【讨论】:

      【解决方案6】:

      我不确定 iPhone 应用程序是如何打包的,但如果你可以打开 .app 文件夹并四处寻找,你应该能够在资源文件夹中找到实际的图像文件...

      【讨论】:

        猜你喜欢
        • 2012-08-12
        • 1970-01-01
        • 2013-05-18
        • 2011-06-30
        • 1970-01-01
        • 2014-10-07
        • 2010-09-06
        • 2013-08-01
        • 1970-01-01
        相关资源
        最近更新 更多