【问题标题】:UISegmentControl and Swipe-To-Go-BackUISegmentedControl 和滑动返回
【发布时间】:2014-01-29 19:51:40
【问题描述】:

我整天都在研究这个问题,但还没有找到合适的解决方案。

我正在尝试在 iOS7 中创建类似于通知中心的视图。顶部有一个UISegmentControl,点击任何选项卡时都会将您带到不同的屏幕。向左或向右滑动可向前或向后移动到最后一个屏幕。

我正在考虑在其中嵌入了 UIViewController 的 UINavigationController 中实现这一点。

我尝试仅根据 UiSegmentControl 的 selectedIndex 执行转场。这工作正常,但是当以随机顺序从一个选项卡转到另一个选项卡时会崩溃。此外,我没有让滑动返回。我无需滑动即可前进 - 只需向后滑动即可。

我想转到三个不同的视图 - 它们都使用相同的 viewController 类(因为这些视图做同样的事情。

我只使用故事板和 iOS7。

有没有人知道如何做到这一点?

【问题讨论】:

    标签: iphone objective-c ios7


    【解决方案1】:

    遵循这个简单的方法。

    • 在导航栏中有您的UISegmentedControl,项目为Onetwothree

    • 在您的viewController 中有三个UIView,分别为view1view2view3

    • 设置您的UISegmentedControl 的目标方法,并将默认索引 0 设置为选中并实现该方法。

      [self.segmentedControl addTarget:self action:@selector(changeSegments:) forControlEvents: UIControlEventValueChanged];
      
      -(void) changeSegments:(UISegmentedControl *)segment {
          // set your views alpha depending upon your selection.
      
       }
      

    希望对您有所帮助。

    【讨论】:

    • 感谢您的帮助。但是我不希望导航栏中的段控件。我在想我可以在容器视图中切换视图吗?我也真的需要滑动才能回到最后几个。
    • 那就更简单了。有一个 UIPageControl 并添加三个页面,每个页面对应一个视图。实施滑动手势,然后将 UISegmentedControl 的选定段更改为您所在页面的索引。如果您需要代码,我可能会寻求时间。
    • 谢谢,我会调查的。我从未使用过 UIPageControl。让我先尝试一下,如果我遇到困难,我可以寻求更多帮助吗?感谢您的时间。 :)
    • 对您同意的新方法的一个很酷的答案。 UIPageControl + Swipe
    • 评论很长。将向您发送代码。通过 tiwari.balram@gmail.com 联系我
    【解决方案2】:

    我认为您应该为不同的屏幕使用UICollectionView。这样一来,您就可以开箱即用了。

    那么只需将分段控件链接到集合视图即可。

    【讨论】:

    • 实际上从未想过。我也会对此做一些研究。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多