Кнопка возврата в стиле мобильного Safari для UIWebView? - PullRequest
12 голосов
/ 15 декабря 2009

Мне не удалось найти какой-либо вид UIBarButtonSystemItem, представляющий кнопку «Назад» в Mobile Safari. Я хочу, чтобы элементы управления моего UIWebView выглядели так же, как и в Mobile Safari, так что это имеет смысл. Лучшим решением было бы просто сделать скриншот UIBarButtonSystemItemPlay (то же изображение, что и кнопка «Вперед») и перевернуть его?

Спасибо.

Ответы [ 6 ]

23 голосов
/ 20 марта 2011

Я просто сделал их для себя, в основном это точные копии (не считайте пикселей). Вы можете использовать их по своему усмотрению, коммерчески или нет. Только не пытайтесь продать их, пожалуйста.

[Файл удален, iOS 7 представила совершенно новый вид этих кнопок.]

8 голосов
/ 28 сентября 2010

Юникод твой друг здесь.

Создайте UIBarButtonItem (в Интерфейсном Разработчике или в коде) и установите для него значение «Пользовательский», где можно ввести текст для кнопки.

Теперь используйте эти символы Unicode для имитации кнопок «назад» и «вперед»:

◄ и ►

Я использую его в своих приложениях, и он отлично выглядит.

8 голосов
/ 15 декабря 2009

Я думаю, что правильный шаг - попытаться найти где-нибудь необработанный значок (попробуйте Terminal и найдите его в каталоге / Developer).

Возможно, что

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

это правильный файл.

Просто сделать скриншот не получится, так как значки панели инструментов основаны на альфа-уровнях, а не на цветах. Если вы возьмете скриншот и перевернете его, у вас просто будет сплошной квадрат для вашей кнопки.

4 голосов
/ 29 июля 2010

У меня была такая же проблема, но я нашел очень хорошее решение:

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);

только немного подправил, потому что кнопка «назад» не была выровнена с кнопкой «вперед», кнопка «назад» была на 1 пиксель слишком высокой Кстати, я должен сделать это для сообщества Wiki? я новенький здесь ...

2 голосов
/ 17 октября 2012

Если я просто использую юникод для указывающего налево треугольника @ "\ U000025C0", он использует Apple Color Emoji. Чтобы использовать простой символ без цвета, используйте переключатель вариантов Unicode для стиля текста эмодзи ("\ U0000FE0E").

Итак, строка для левого треугольника имеет вид @ "\ U000025C0 \ U0000FE0E".

Я думаю, что это проблема только на iPhone Simulator (на Mountain Lion, поддерживающем Unicode 6.1) и пока не вызывает проблем на реальном устройстве.

0 голосов
/ 15 декабря 2009

Я не уверен, как упакованы приложения для iPhone, но если вы можете открыть папку .app и покопаться, вы сможете найти фактический файл изображения в папке ресурсов ...

...