通知センター (iOS 7) では、セグメント化されたコントロール (私が推測するもの) の「今日」、「すべて」、および「見逃した」オプションの間でスワイプすることができます。コードでこれを実行したいのですが、続行する方法がわかりません。私は自分のビューとして、uisegmented コントロールと uitableview を持っています。
質問する
3134 次
3 に答える
1
それぞれの手順に従ってこれを達成しました。
- 2 つのスワイプ ジェスチャ認識機能を追加します (1 つは左にスワイプし、もう 1 つは右にスワイプします)。
- 接続インスペクタのそれぞれについて、コンセント コレクションをメイン ビューとして参照します。
- スワイプ時のアクションの選択は次のとおりです。
- 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)
}
于 2015-02-25T22:37:35.487 に答える
0
これは、ページングを有効にした UIScrollView を使用して実現できます。ユーザーがページをスクロールすると、UISegmentedControl の selectedSegmentIndex が更新されます。
于 2013-10-08T17:53:35.483 に答える
-1
ページングが有効になっている scrollView ではないようです。UIGestureRecognizer を使用すると簡単になると思います。ジェスチャを認識した場合は、現在のタブのビューをスライドさせ、セグメント化されたコントロールを更新します。
于 2013-10-08T19:04:28.563 に答える