在视图之间滑动

时间:2011-10-20 02:26:22

标签: objective-c ios xcode ios4 xcode4

也许你们可以帮助我。我有三种不同的观点(目前正在故事板中)。我希望用户在三个视图之间滑动而不是单击按钮。是否有一种简单的方法可以启用滑动并允许从左到右和从右到左滑动?

我一直在研究Apples Dev。网站,发现一些有用的东西没有真正解释在视图之间切换。

4 个答案:

答案 0 :(得分:2)

在iOS中切换视图的一些方法 -

  1. 最好是使用NavigationViewController更严格的内存管理。
  2. 也可以使用ModalViewControllers
  3. 做自定义演示。
  4. 在所有三个中,第一个虽然是更多mem eff。但要在视图之间转换动画是很困难的。第二个也是如此。第三种方法为您提供了在视图转换之间提供自定义动画的最大灵活性,但您需要自己真正处理内存管理。

    现在回到你的特定问题;看起来很简单。你可以采取几种方法 -

    1. 有一个巨大的UIScrollView&仅启用水平滚动&分页。现在在此scrollView中添加您的视图。在刷卡时,你会看到你的新观点。
    2. 如果滚动视图不是您想要的&想要进行一些关于滑动如何发生的定制,然后你可以尝试执行以下操作 -
    3. UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleViewsSwipe:)];
      [swipe setDirection:UISwipeGestureRecognizerDirectionLeft];
      [yourView addGestureRecognizer:swipe];
      [swipe release];
      

      使用此功能,滑动手势在yourView上定义,如果某个滑动iOS会点击选择器handleViewsSwipe。您可以处理用户在此处滑动时发生的情况。

      将选择器定义为

      - (void)handleViewsSwipe:(UISwipeGestureRecognizer *)gesture
      

      希望这会有所帮助..

答案 1 :(得分:1)

是的,您只需使用UISwipeGestureRecognizer识别左右滑动:

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISwipeGestureRecognizer_Class/Reference/Reference.html

如果对您而言,您需要为iOS 3.2之前做一些不同的事情。

在视图之间切换非常简单,您只需构建三个不同的子视图,并只显示您需要的视图。还有其他方法可以做到这一点,具体取决于您使用的材料类型 - 我需要更多信息来提供更具体的答案。

答案 2 :(得分:0)

您也可以考虑滚动视图。特别是如果您最终可能需要分页,或者如果您将它们用于图像,则可能需要放大和缩小。

http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/CreatingBasicScrollViews/CreatingBasicScrollViews.html

答案 3 :(得分:0)

UIPageControl怎么样?您可以使用它来检测/控制在页面之间切换的请求,然后使用委托UIControlEventValueChanged事件来切换视图中的内容。

相关问题