2013-10-08 128 views
-3

在通知中心(iOS 7)中可以在「今日」,「全部」和「未命中」選項之間滑動(我所假定的)分段控件。我想在我的代碼中這樣做,但我不確定如何contiunue。作爲我的觀點,我有一個不好的控制和一個可用的維度。輕掃手勢和uisegmented控件

回答

-1

這可以通過啓用分頁的UIScrollView來完成,當用戶滾動瀏覽頁面時,UISegmentedControl的selectedSegmentIndex被更新。

-1

它看起來像它不是一個scrollView分頁啓用給我。我認爲使用UIGestureRecognizer可能會更容易。如果識別出手勢,則滑動當前選項卡的視圖並更新分段控件。

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