我的標籤欄控制器中有三個標籤,我想在這些標籤之間切換,就像tinder使用手指觸摸切換標籤。我已經使用UISwipeGestureRecognizer
做了它,但它與Tinder(約會應用程序)的滑動不完全相同。 我在Tabbar controller
之一上添加了UISwipeGestureRecognizer
,然後添加了更改tabbar選定索引的功能。但動畫不受手指觸摸的控制。我想要通過手指觸摸來控制滑動。使用手指划動在標籤欄控制器中更改標籤
回答
我有點晚了,但我發現我的ANS -
我已經創建了4個UIviewcontrollers編程,然後 創建它的一個陣列。
var views = [CareTeamTableViewController(),VFCChatQViewController(), NewAccountViewController(), ShareViewController()]
然後我在我的主要的UIViewController
private func initMainScroll() {
scrollView = UIScrollView.init()
scrollView?.delegate = self
scrollView?.showsHorizontalScrollIndicator = false
scrollView?.isPagingEnabled = true
self.view.addSubview(scrollView!)
}
增加了滾動視圖,然後添加視圖陣列,如:
func setupScrollView(complete:()->()) {
scrollView?.frame = views.first!.view.frame
scrollView?.contentSize = CGSize(width: CGFloat(views.count) * UIScreen.main.bounds.width, height: 0)
_ = views.map({ addViewToScrollView($0) })
_ = views.map({ $0.view.frame.origin = CGPoint(x: CGFloat(views.index(of: $0)!) * UIScreen.main.bounds.width, y: 0) })
complete()
}
func addViewToScrollView(_ viewController: UIViewController) {
scrollView?.addSubview(viewController.view)
viewController.willMove(toParentViewController: self)
addChildViewController(viewController)
}
我認爲最好的方法是將所有標籤頁的視圖放在UIScrollView
。你把它們放在一起。
在您的tabbarController
中實現滾動視圖委託方法。 你可能需要scrollViewDidEndScrollingAnimation
和scrollViewDidEndDecelerating
知道上查看您是當用戶停止滾動,像這樣:
let page_width=UIScreen.main.bounds.width
let page=Int(floor((scrollView.contentOffset.x-page_width/2)/page_width)+1)
在這裏,我想每個選項卡視圖中的尺寸與屏幕相同。
這可以使用'UIPanGestureRecognizer'完成嗎? –
您不需要帶有滾動視圖的UIPanGestureRecognizer。 –
我在每個選項卡中有三個不同的'UIViewControllers'。因此將它們添加到'UIScrollView'將會很困難。 –
- 1. 標籤欄控制器內的標籤欄控制器
- 2. 標籤欄控制器
- 3. 多標籤欄控制器?
- 4. 標籤欄控制器
- 5. 用控制器的ajax更改標籤?
- 6. 從標籤欄控制器啓動segue
- 7. ios標籤欄控制器動畫
- 8. 視圖控制器改變標籤欄圖標和動作
- 9. 標籤欄控制器和標籤欄有什麼區別?
- 10. iPhone/iPad/iOS:棘手使用標籤欄控制器
- 11. 在一個標籤欄控制器
- 12. 如何更改標籤指示器在操作欄中的下劃線高度
- 13. 在swift中添加沒有標籤欄控制器的標籤欄
- 14. 在標籤欄控制器上使用導航欄
- 15. ASP.Net MVC控制標籤欄
- 16. 如何更改標籤欄項目控制器的觸摸?
- 17. 如何更改標籤欄控制器內導航項的titleview?
- 18. 在標籤欄應用程序中使用導航控制器。
- 19. 代碼在iphone中使用標籤欄控制器
- 20. 更改標籤欄中選項卡的目標視圖控制器
- 21. 關閉標籤欄控制器
- 22. 卸載標籤欄控制器
- 23. VIPER架構:標籤欄控制器
- 24. 標籤欄控制器藍色覆蓋
- 25. 從標籤欄控制器分支?
- 26. iPhone:視圖控制器的標籤欄
- 27. 標籤欄控制器..項目名稱
- 28. 標籤欄控制器不可訪問
- 29. Segue公司到標籤欄控制器
- 30. 在導航控制器中使用標籤欄控制器的問題
您是否嘗試過'UIPanGestureRecognizer'? – SLearner
你可以建議我'TabBarControllerAnimation'方法來改變'SelectedIndex'使用手指觸摸和刷卡? –