2014-01-11 4 views
0

Я хочу создать представление, подобное поведению, для UINavigationBar.Создание пользовательской реализации панели навигации

Я не могу просто настроить панель, так как я хочу, чтобы пространство было выше, и я хочу, чтобы на нем было несколько других объектов, кроме UIBarButtonItem. Итак, я хочу иметь возможность создать аналогичную реализацию, включая эффект плавающей/полупрозрачности.

Хорошим примером этого является адресная строка в Safari в iOS 7. UITextField на панели - это то, что нельзя добавить по умолчанию UINavigationBar. Тем не менее, в сафари-баре все еще есть прозрачность.

Я не хочу, чтобы он сжимался, как в сафари, когда прокручивался вниз, я просто хочу, чтобы он остался таким же, как UINavigationBar. Я думал о добавлении subview к корню UIScrollView, но это прокручивало бы все. Я хочу, чтобы это осталось наверху, но я хочу, чтобы другие элементы могли прокручиваться.

Как я могу реализовать это?

ответ

1

Если вы уверены, что не можете этого сделать с помощью UINavigationBar по умолчанию, вы можете сжать (сверху) UIScrollView с любым размером пользовательского UINavigationBar, а затем добавить навигационную панель в качестве представления в корневом представлении в координатах (0,0). Он будет независим от вида прокрутки.

С другой стороны, если вам это нужно, чтобы быть стойкими через приложение и использовать его во всех экранах, это будет целесообразно, чтобы внести некоторые изменения, начиная для AppDelegate, но это еще вопрос.

Для части прозрачного стиля iOS 7, смотрите здесь: FXBlurView. Удачи!

+0

Спасибо за ваш ответ! Если я уменьшу размер UIScrollView, когда я прокручу, содержимое никогда не подойдет и не покажет через настраиваемую панель навигации. Есть ли способ, чтобы UIScrollView заполнял весь экран и настраивал пользовательскую панель навигации поверх нее? Кроме того, что конкретно будет настраиваемая панель навигации? UILabel с цветом фона? – golddove

+0

Есть ли у вас идеи? – golddove

Смежные вопросы