2012-02-17 2 views
0

Я ищу осуществить указатель со стрелкой выше выбранного значка на панели инструментов так же, как дизайн, найденного в Ридер и Instacast:Как реализовать стрелку указателя на панели инструментов в iOS?

Instacast toolbar

Указатель стрелка должна двигаться через плавно при нажатии другой элемент на панели инструментов. Мне нужно иметь возможность выбирать, какие элементы заставляют стрелку перемещаться, как показано в Instacast и Reeder, где только определенные элементы меняют положение стрелки.

Могу ли я сделать это без лишних накладных расходов и много подкласса UIKit?

+0

Вы смотрели на [UITabBardelegate] (https://developer.apple.com/library/ios/#documentation/uikit/reference/UITabBarDelegate_Protocol/Reference/Reference.html)? Вы можете получить, когда вкладки будут изменены и что они изменены, чтобы вы могли выполнять свою логику и перемещать указатель туда. –

+0

Я бы предпочел использовать UIToolbar, поскольку мне не нужен заголовок для кнопок и не нравится внешний вид панели вкладок. Кроме того, как мне создать указатель так, чтобы строка панели инструментов не продолжалась над указателем? – shearnonsense

ответ

2

Это не должно быть слишком плохо: просто возьмите изображение маленького треугольника, как в вашем вопросе, и поместите его в UIImageView, который находится над панелью инструментов.

Затем настройте его так, чтобы, когда вызывается action: для соответствующей кнопки на панели инструментов, слайды UIImageView так, чтобы они находились в нужном месте, с анимацией. Что-то вроде:

[UIView beginAnimations:@"TriangleAnimation" context:NULL]; 
[UIView setAnimationDuration:0.25]; 
triangleImageView.frame = //new location here 
[UIView commitAnimations]; 
Смежные вопросы