轻扫手势和uisegmentedcontrol

时间:2013-10-08 16:38:38

标签: iphone ios7 uigesturerecognizer uisegmentedcontrol

在通知中心(iOS 7)中,可以在分段控件的“今天”,“全部”和“未命中”选项之间滑动(我猜的是)。我想在我的代码中这样做,但我不确定如何继续。我有一个uisegmented控件和uitableviiew作为我的观点。

3 个答案:

答案 0 :(得分:1)

我按照以下步骤完成了这项工作:

  1. 添加2个滑动手势识别器(一个向左滑动,另一个向左滑动 向右滑动)
  2. 对于他们每个人在连接检查员参考插座     集合作为主要观点。
  3. 按照以下步骤选择操作:
  4. viewSelector是UISegmentedControl和firstView,secondView和     thirdView是3个用于选择显示哪个视图的视图。
  5. 代码:

    @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)
    }
    

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

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