Создание горизонтальной панели бесконечного прокрутки в iOS
Я заинтересован в создании строки меню следующим образом:
![Menu Bar Example]()
Из того, что я читал, я должен делать UIScrollView. Есть ли примеры онлайн, которые делают это с бесконечной прокруткой (обертывание вокруг строки меню) и возможностью иметь сенсорный контроль? (т.е. проведите по экрану и измените строку меню).
Спасибо!
Ответы
Ответ 1
Ваш запрос очень похож на мой. Но я тоже не могу найти достаточно хорошее решение. Поэтому я решил создать что-то, чтобы сделать это сам.
ACTabScrollView поддерживает несколько разных жестов. И tabs
и pages
будут всегда прокручиваться синхронно.
-
Swipe
обычно
-
Drag
вкладки могут быстро перемещать страницы
-
Click
вкладку для перехода на эту страницу
![demo1]()
![demo2]()
![demo3]()
Функция Infinite Scrolling
еще не готова, но я продолжу ее реализацию.
Я использую аналогичный интерфейс как примеры в этом проекте. Я не знаю, что такое приложение, но если использовать его в качестве примера, беспокоить любого. Свяжитесь со мной, и я немедленно удалю это.
Не стесняйтесь давать мне какое-либо предложение по его улучшению:)
Ответ 2
Я надеюсь, что этот код будет работать для вас.
- (void)viewDidLoad
{
[super viewDidLoad];
[self createHorizontalScroll];
}
- (void)createHorizontalScroll
{
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, 80)];
int buttonX = 0;
for (int i = 0; i < 5; i++)
{
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(buttonX, 0, 100, 60)];
[button setTitle:[NSString stringWithFormat:@"Button %d", i] forState:UIControlStateNormal];
[scrollView addSubview:button];
buttonX = buttonX+button.frame.size.width;
[button addTarget:self
action:@selector(changeView:)
forControlEvents:UIControlEventTouchUpInside];
}
scrollView.contentSize = CGSizeMake(buttonX, scrollView.frame.size.height);
scrollView.backgroundColor = [UIColor greenColor];
[self.view addSubview:scrollView];
}
-(void)changeView:(UIButton*)sender
{
NSLog(@"I Clicked a button %ld",(long)sender.tag);
}
Вы можете установить содержание прокрутки столько, сколько хотите, и кнопки меню. Измените вид в соответствии с нажатием кнопки. Здесь снимок экрана приведенного выше кода
![enter image description here]()
Ответ 3
Надеюсь, это может вам помочь. Это не имеет больше анимации, но работает так, как вы ожидали.
Вы можете использовать CollectionView в этом, чтобы прокручивать по горизонтали с помощью опций меню в качестве CollectionView Cell. Для достижения левого и правого прокрутки мы можем использовать UISwapeGuestureRecognizers и прокручивать страницы.
Вот как я реализовал его, используя CollectionView для ScrollableMenu, как вкладки в верхней части экрана и Страницы в нижней части меню, используя Container View.
Вы можете загрузить этот проект и проверить, есть ли представление о форме реализации ниже ссылки.
Горизонтальное прокручиваемое меню
Надеюсь, это может вам помочь. Это реализовано со словами: Swift 4.0 и X-Code 9.2
Счастливое кодирование.