Обновляемый пользовательский вид на панели UIToolbar - PullRequest
1 голос
/ 24 апреля 2011

Я хочу сделать небольшую область, чтобы представить некоторую информацию в середине UIToolbar, и мне было интересно, как лучше всего это сделать.

Мне нужно показать текст и графику, которые должны обновляться (каждые 3 секунды) по мере поступления новой информации. Графика аналогична индикатору уровня сигнала iPhone, поэтому ее можно нарисовать по своему усмотрению или выбрать одну из трех графиков (низкая, средняя, ​​высокая).

Я, вероятно, буду использовать initWithCustomView: для создания UIBarButtonItem, хотя я бы хотел, чтобы представление было кликабельным (чтобы пользователь мог изменять отображаемую информацию).

Какой лучший способ сделать это представление? Могу ли я использовать NIB или мне нужно сделать собственное рисование в виде? Какой лучший способ обновить кнопки? Я предполагаю, что мне придется каждый раз переделывать массив toolbarItems и устанавливать его при изменении информации. Есть ли более чистый способ сделать это? Спасибо.

Ответы [ 2 ]

2 голосов
/ 17 января 2012

Мне нужно было то же решение, и я надеялся получить от вас несколько примеров кода. Итак, я закончил все это в IB, и шаги здесь следующие:

  1. Создать UItoolbar в IB без элементов. (Элемент панели кнопок будет добавлен снова после добавления UIView)
  2. Добавить UIView как подпредставление UIToolbar
  3. Добавьте UILabels к подпредставлению UIView, которое уже является подпредставлением UIToolbar.
  4. Создание IBOutlets из UIToolbar, UIView и каждого UILabel, а затем вы можете ссылаться на метки в вашем приложении.
  5. Я установил фон для clearColor, чтобы текст отображался в верхней части панели инструментов UIToolbar без каких-либо рамок или рамок.
  6. И текст обновляется динамически, что было желаемым результатом.

Надеюсь, это кому-нибудь поможет, поскольку это ускользает от меня некоторое время.

enter image description here

2 голосов
/ 24 апреля 2011

Использование initWithCustomView: звучит как хороший путь. Вы можете создать свой собственный вид любым удобным вам способом: с помощью NIB, нарисовав его, даже используя изображения. Он также может иметь свои собственные подпредставления. Это может быть любой объект, который наследуется от UIView. (Таким образом, если вы хотите, вы можете даже сделать его активным, используя UIButton, пользовательский UIControl или пользовательский UIView с подключенным распознавателем жестов.)

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

Ты говоришь так, будто понял это. Надеюсь, что это полезно.

...