कर सकते हैं UITabBarConroller
सभी अपने बच्चे ViewControllers प्रयोग कर रहे हैं मान लिया जाये एक वर्ग से विरासत जो आपके लिए भारी भारोत्तोलन करता है।
यह मैं इसे कैसे
class SwipableTabVC : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let left = UISwipeGestureRecognizer(target: self, action: #selector(swipeLeft))
left.direction = .left
self.view.addGestureRecognizer(left)
let right = UISwipeGestureRecognizer(target: self, action: #selector(swipeRight))
right.direction = .right
self.view.addGestureRecognizer(right)
}
func swipeLeft() {
let total = self.tabBarController!.viewControllers!.count - 1
tabBarController!.selectedIndex = min(total, tabBarController!.selectedIndex + 1)
}
func swipeRight() {
tabBarController!.selectedIndex = max(0, tabBarController!.selectedIndex - 1)
}
}
तो अपने सभी viewcontrollers कि UITabControllers का हिस्सा हैं SwipableTabVC
UIViewController के बजाय से विरासत कर सकते हैं किया है।
तो मूल पोस्ट में एंड्रॉइड यूट्यूब उदाहरण में एनिमेट करना संभव नहीं होगा? – user1689272
मैंने अतीत में अधिक तरल टैब नियंत्रण बनाए हैं और यह उपरोक्त टैब बार उदाहरण से कहीं अधिक कस्टम समाधान था। आखिरी बार मैंने ऐसा कुछ किया, मैंने वास्तव में एक लंबा दृश्य नियंत्रक बनाया जिसमें सभी अनुभाग दृश्य नियंत्रकों को एक तरफ रखा गया था (मेरे पास 5 अनुभाग थे, ताकि वीसी स्क्रीन चौड़ाई 5x थी)। नेविगेशन में कंटेनर वीसी को बाएं और दाएं स्लाइडिंग शामिल है। यह सबसे अच्छा तरीका नहीं है क्योंकि सभी वीसी हर समय स्मृति में रहते हैं, लेकिन यह सबसे अच्छा है जिसके लिए मुझे इसकी आवश्यकता होती है। मैं दुर्भाग्य से उस से कोई कोड स्निपेट नहीं दिखा सकता। – skladek
आईओएस 7 के रूप में, इस प्रभाव को पूरा करने के लिए कस्टम व्यू कंट्रोलर संक्रमण के साथ 'UIPercentDrivenInteractiveTransition' का उपयोग करना संभव है। मूल रूप से आपके पास स्लाइडिंग करने के लिए एक कस्टम पुश/पॉप एनीमेशन के साथ एक नेविगेशन नियंत्रक होगा। UIPercentDrivenInteractiveTransition संक्रमण को स्वाइप के बजाए पैन के रूप में ट्रैक करने की अनुमति देगा। – skladek