2016-11-01 2 views
1

Я создаю приложение с помощью Swift, , и я все еще пытаюсь выяснить, какая будет лучшая конфигурация. То, что я хотел бы иметь, это 3 экрана (на левом экране будет боковая панель) , чтобы пользователи могли получить доступ через меню панели навигации или просто прокручивая влево/вправо экран для большей доступности.Как реализовать прокрутки с помощью контроллеров CollectionView/TableView?

Я мог бы легко создать свой TableViewControllers/CollectionViewController и меню, но я изо всех сил на то, чтобы экран, способный обнаруживать пользователей жесты в то же время, и я не уверен , должен ли я использовать 3 View Controllers а затем добавить Collection View/Table View с помощью раскадровки, или непосредственно использовать CollectionViewController/TableViewController

Я добавил фотографию здесь, описывая то, что я хотел бы выполнить:

Draft of what I would like to accomplish

Кроме того, мне интересно, следует ли использовать раскадровки или нет для моего проекта.

Я знаю, что вопросов много!

Любые идеи, пожалуйста?

Большое спасибо и иметь хороший день,

J.

ответ

0

Вам необходимо добавить 2 «распознавателя жестов» на ваш средний экран (второй экран в прикрепленном изображении) и установить его для идентификации левого салфетки, а другой для правильного салфетки. Создайте методы действий как в вашем контроллере представления, так и добавьте код, соответствующий левому экрану и правому экрану, в соответствующих методах.

примечание - вам нужно перетащить «распознаватель жестов» в верхнюю панель вашей сцены контроллера вида, чтобы добавить его.

+0

Большое спасибо за ваш ответ. Я пытался использовать распознаватель жестов, как вы сказали, но каждый раз, когда я запускаю симулятор, я сталкиваюсь с ошибкой SIGABRT, даже с упрощенным кодом (я пытался с и без раскадровки). Похоже, у меня проблемы с Sweep Recognizer. Если у вас есть идеи о том, что эта ошибка может произойти, это очень помогло бы мне! – jellyfish6

+0

Вот код: 'class ViewController: UIViewController, UIGestureRecognizerDelegate { @IBOutlet weak var swipeView: UIView! переопределение FUNC viewDidLoad() { super.viewDidLoad() пусть aSelector: Селектор = "handleSwipe:" пусть swipeGesture = UISwipeGestureRecognizer (цель: самостоятельная, действие: aSelector) swipeGesture.direction = [.down, .up ] self.swipeView.addGestureRecognizer (swipeGesture) } функ handleSwipe (отправитель: UISwipeGestureRecognizer) { печати (sender.direction) } ' – jellyfish6

+0

Спасибо, все теперь решено: мой синтаксис селектора был неправильным. Правильный синтаксис для использования - '#selector (ClassName.methodName (_ :))'. Надеюсь это поможет ! – jellyfish6

0

Вы можете использовать Scrollview как контейнер, поставить три ViewController в нем.

+0

Проблема решена? Если решение может решить вашу проблему. Проголосуйте за него, чтобы помочь большему количеству людей. –

+0

Спасибо, я мог бы, наконец, решить мою проблему, используя scrollview и создавая программно 3 ViewControllers 'let vc1 = UIStoryboard (имя:« Main », bundle: nil) .instantiateViewController (withIdentifier:« viewController1 »)» и т. Д. Для vc2 и vc3 , Затем я добавил их в качестве подзаголовков моего scrollview, и все это работает так, как должно! – jellyfish6

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