滑动以更改uiviewcontroller

时间:2014-05-20 08:25:11

标签: objective-c uiviewcontroller xcode5 uiswipegesturerecognizer

我有一个viewController,其中包含的数据将在viewController的上半部分保持静态。下半部分包含4个按钮,4个UIViewControllers链接到之前加载的4个按钮。在相应的按钮上单击将显示相应的UIViewController,其余部分将被隐藏。我只是在点击按钮时使viewController可见且不可见。

我想让它们在滑动时更改。因此,UIViewController会随着滑动而改变,相应UIViewController的按钮状态也会随着滑动而改变。

我没有使用故事板并使用xcode5。

1 个答案:

答案 0 :(得分:2)

一种简单的方法 - 您可以使用UITabBarController来处理所有这些视图控制器:https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html 要通过滑动更改它们 - 只需添加UISwipeGestureRecognizerhttps://developer.apple.com/library/ios/documentation/uikit/reference/UISwipeGestureRecognizer_Class/Reference/Reference.html,如下所示:

UISwipeGestureRecognizer *swipeRecognizer = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(changeTabs:)]; [self.view addGestureRecognizer:swipeRecognizer]; [swipeRecognizer release]; 在changeTabs:执行此操作

[self.tabBarController setSelectedViewController:nextViewController];

另一种更可行的方法是使用UIPageViewControllerhttps://developer.apple.com/library/ios/documentation/uikit/reference/UIPageViewControllerClassReferenceClassRef/UIPageViewControllerClassReference.html

您写道:"so the uiviewcontroller will change with the swipe and the button state for the respective uiviewcontroller will also change with swipe." - 这很愚蠢。只需使用我建议的任一选项卡,然后删除这些按钮或使用已有页面指示符的UIPageViewController并自行处理其逻辑