【问题标题】:swipe gesture and uisegmented control滑动手势和分段控制
【发布时间】:2013-10-15 17:11:14
【问题描述】:

在通知中心(iOS 7)中,可以在(我认为是)分段控件的“今天”、“全部”和“错过”选项之间滑动。我想在我的代码中执行此操作,但不确定如何继续。我有一个 uisegmented 控件和一个 uitableview 作为我的视图。

【问题讨论】:

    标签: iphone ios7 uigesturerecognizer uisegmentedcontrol


    【解决方案1】:

    我按照相应的步骤完成了这项工作:

    1. 添加 2 个滑动手势识别器(一个用于向左滑动,另一个用于 向右滑动)
    2. 对于连接检查员中的每个人,请参考插座 收藏作为您的主要视图。
    3. 滑动时选择动作如下:
    4. viewSelector 是 UISegmentedControl 和 firstView,secondView 和 thirdView 是 3 个视图,用于选择显示哪一个。

    代码:

    @IBAction func indexChanged(sender: UISegmentedControl) {
        switch sender.selectedSegmentIndex
        {
        case 0:
            firstView.hidden = false
            secondView.hidden = true
            thirdView.hidden = true
        case 1:
            firstView.hidden = true
            secondView.hidden = false
            thirdView.hidden = true
        case 2:
            firstView.hidden = true
            secondView.hidden = true
            thirdView.hidden = false
        default:
            break;
        }
    }
    
    @IBAction func swipeLeft(sender: UISwipeGestureRecognizer) {
        viewSelector.selectedSegmentIndex = (viewSelector.selectedSegmentIndex + 1) % viewSelector.numberOfSegments
        indexChanged(viewSelector)
    }
    
    @IBAction func swipeRight(sender: UISwipeGestureRecognizer) {
        viewSelector.selectedSegmentIndex = (viewSelector.selectedSegmentIndex - 1) % viewSelector.numberOfSegments
        if(viewSelector.selectedSegmentIndex == -1){
            viewSelector.selectedSegmentIndex = viewSelector.numberOfSegments-1
        }
        println(viewSelector.selectedSegmentIndex)
        indexChanged(viewSelector)
    }
    

    【讨论】:

      【解决方案2】:

      这可以使用启用分页的 UIScrollView 来完成,当用户滚动页面时,UISegmentedControl 的 selectedSegmentIndex 会更新。

      【讨论】:

        【解决方案3】:

        看起来它不是启用了分页的滚动视图。我认为使用 UIGestureRecognizer 可能会更容易。如果它识别出手势,则滑动当前选项卡的视图并更新分段控件。

        【讨论】:

          猜你喜欢
          • 2020-01-30
          • 1970-01-01
          • 1970-01-01
          • 2015-10-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多