Ситуация: У меня есть панель инструментов (а не UIToolbar, только пользовательский UIView), который находится в верхней части моего представления. На этой панели инструментов есть несколько кнопок. Сразу же ниже, у меня есть scrollview с формой. Когда нажата кнопка на панели инструментов, соответствующая форма должна быть анимирована на экране справа или слева, в зависимости от того, какая кнопка нажата. Я не хочу, чтобы панель инструментов двигалась по этому пути. Тем не менее, я хочу, чтобы панель инструментов прокручивалась вверх, когда пользователь прокручивается вверх или вниз по экрану прокрутки. Путь я достиг сейчас находится в методе scrollViewDidScroll делегата (обратите внимание, я только разрешить горизонтальную прокрутку, если это от нажатия кнопки на панели инструментов):Стратегии UIScrollView для горизонтальной и вертикальной прокрутки
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if(scrollView.contentOffset.x != 0 && _shouldScrollHorizontally == NO)
{
CGPoint offset = scrollView.contentOffset;
offset.x = 0;
scrollView.contentOffset = offset;
}
CGRect buttonFrame = [_buttons frame];
buttonFrame.origin.y = -scrollView.contentOffset.y + 10;
[_buttons setFrame:buttonFrame];
}
Однако я обеспокоен тем, что это неэффективно и приведет к некоторой задержке. Мне интересно, есть ли лучший способ достичь того, чего я пытаюсь достичь.
В конце дня я хочу, чтобы панель инструментов оставалась неподвижной, если прокрутка прокручивается по горизонтали, но перемещаться с помощью прокрутки, если прокрутка прокручивается по вертикали.
Спасибо за любые предложения!
вы имеете в виду вы хотите графику, как старый пульс, или postpiks. – rptwsthi
Что это значит? – Mason