2014-11-07 4 views
1

Я много лет пытаюсь изменить метку кнопки возврата в UISplitViewController.iOS: UISplitViewController Back Button Setup Query

Это единственное решение, в котором я мог бы придумать. В основном зачистки цели и действий от .displayModeButtonItem() и использовать его с моим собственным UIBarButtonItem

var backButton = UIBarButtonItem() 
if var b = self.splitViewController?.displayModeButtonItem() { 
    backButton = UIBarButtonItem(title: "< back", style: .Plain, target: b.target, action: b.action) 
} 

то я использую эту кнопку в моих соединениях SEGUE так:

if let controller = (segue.destinationViewController as UINavigationController).topViewController as? ManageViewController { 
    controller.navigationItem.leftBarButtonItem = backButton 
} 

Это работает, но я просто имеют 2 проблемы с этим:

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

2) Это кажется немного взломанным. Я в порядке, чтобы настроить это так?

ответ

1

Это ответ, который я написал в ответ на этот вопрос SO ... How to name a back button in UISplitViewController.

Благодаря Пол Хегарти и его бесценным лекциям в Стэнфордском университете и доступны на iTunes U ... в этом случае его лекции 2013 года под заголовком "Developing iOS 7 Apps for iPhone and iPad" и, в частности, «Lecture 11 Table View и iPad».

Если вы используете раскадровки, то:

  • Откройте главное раскадровки и выберите Навигационный контроллер, ссылки на мастер-View Controller в вашей группе Split View Controller;
  • Открыть инспектора;
  • Под заголовком View Controller, против собственности Заглавие, введите слова, которые вы хотели бы показать рядом с кнопкой «Назад» шеврон.

См скриншот Master Detail шаблон Xcode создан с Split View Controller ...

Interface Building screenshot detailing location of "Title" property for Navigation Controller

Если вы инстанцировании виды в коде, то:

  • получить ссылка на контроллер навигации для контроллера Master View;
  • установить свойство title этого навигационного контроллера с помощью слов NSString, которые вы хотели бы показать рядом с кнопкой «Назад» шеврон.

Как и в стороне, я бы очень рекомендовал реализацию Автокомпоновки и размер классы, которые вы удалите текст для Назад Кнопки собственности и пусть размерные классы определяют соответствующие слова для вашей кнопки Назад.

Например, ...

remove text in the "Back Button" property