मेरे पास एक बटन वाला एक प्रोजेक्ट है जो उपयोगकर्ता को सूची दृश्य (UITableView
) और ग्रिड व्यू (UICollectionView
) के बीच स्विच करने की अनुमति देता है लेकिन मुझे नहीं पता कि यह कैसे करें।UITableView और UICollectionView को कैसे स्विच करें
उत्तर
मान लें कि आपके नियंत्रक एक UITableView
संपत्ति tableView
नाम और एक UICollectionView
संपत्ति collectionView
नामक करते हैं। आपके viewDidLoad
में आपको प्रारंभिक दृश्य जोड़ने की आवश्यकता है।
- (void)viewDidLoad
{
self.tableView.frame = self.view.bounds;
[self.view addSubview:self.tableView];
}
फिर अपने बटन कॉलबैक में
, विचारों बाहर स्वैप:
- (void)buttonTapped:(id)sender
{
UIView *fromView, *toView;
if (self.tableView.superview == self.view)
{
fromView = self.tableView;
toView = self.collectionView;
}
else
{
fromView = self.collectionView;
toView = self.tableView;
}
[fromView removeFromSuperview];
toView.frame = self.view.bounds;
[self.view addSubview:toView];
}
आप एक फैंसी एनीमेशन चाहते हैं, आप के बजाय +[UIView transitionFromView:toView:duration:options:completion:]
उपयोग कर सकते हैं:
- (void)buttonTapped:(id)sender
{
UIView *fromView, *toView;
if (self.tableView.superview == self.view)
{
fromView = self.tableView;
toView = self.collectionView;
}
else
{
fromView = self.collectionView;
toView = self.tableView;
}
toView.frame = self.view.bounds;
[UIView transitionFromView:fromView
toView:toView
duration:0.25
options:UIViewAnimationTransitionFlipFromRight
completion:nil];
}
की यह तालिका दृश्य है लगता है चलो
धन्यवाद! लेकिन मैं किस व्यू कंट्रोलर का उपयोग कर सकता हूं? TableViewController या संग्रह दृश्य नियंत्रक। मैं एक बाहरी वर्ग (ViewController नहीं) में TableViewDelegate और डेटास्रोत का उपयोग कैसे कर सकता हूं? –
बस एक सामान्य UIViewController का उपयोग करें, और गुणों के रूप में दोनों प्रकार के दृश्य जोड़ें। या, यदि आप दो विचारों के लिए तर्क को अलग रखना चाहते हैं, तो आप एक UITableViewController और UICollectionViewController बना सकते हैं और मुख्य नियंत्रक के गुणों के बजाय उनके विचारों का उपयोग कर सकते हैं। – Simon
यदि आपके विचार पहले से ही दृश्य पदानुक्रम का हिस्सा हैं (उदाहरण के लिए xib/storyboard के साथ जोड़कर) आपको 'UIViewAnimationOptionShowHideTransitionViews' को' + transitionFromView: ToView: अवधि: विकल्प: समापन: 'विधि में विकल्प पैरामीटर में से एक के रूप में पास करना होगा । – MrBr
इससे निपटने का एक और तरीका एक UICollectionView
है जिसमें आप इच्छित मोड के आधार पर UICollectionViewFlowLayout
कार्यान्वयन स्विच कर सकते हैं।
UITableView
से UICollectionView
में कनवर्ट करने के लिए, ऑनलाइन बहुत सारे ट्यूटोरियल हैं, उदाहरण के लिए this।
- 1. एक UICollectionview को रीफ्रेश करना
- 2. प्राप्त करें बटन UICollectionView
- 3. UICollectionView
- 4. UICollectionView में हेडर व्यू को कैसे जोड़ना है UITableView की तालिका हैडरर व्यू
- 5. पुनर्व्यवस्थित करें UITableView वर्गों, पंक्तियाँ, और वर्गों
- 6. UICollectionView
- 7. चयन तब संभव नहीं है जब UICollectionView UITableVIew
- 8. UICollectionView
- 9. चयन पर UICollectionView सेल को एनिमेट करें
- 10. UICollectionView डेटा परिवर्तन को एनिमेट करें
- 11. गिट: शाखा स्विच करें और
- 12. प्रोग्रामिंग के UITableView को कैसे प्रदर्शित करें?
- 13. UITableView में डेटा को कैसे अपडेट करें?
- 14. EKEventViewController के UITableView को कस्टमाइज़ कैसे करें?
- 15. UICollectionView सजावट और पूरक विचारों
- 16. matplotlib में axes को कैसे स्विच करें?
- 17. उपवर्गीकरण UICollectionViewLayout और मैं UICollectionView
- 18. एक छवि कैशिंग और UICollectionView
- 19. UICollectionView WillDisplayCell प्रतिनिधि विधि होगा?
- 20. UICollectionView रजिस्टर क्लास: forCellWithReuseIdentifier विधि UICollectionView
- 21. शैडोबॉक्स - सामग्री को कैसे स्विच या प्रतिस्थापित करें? एक और संवाद कैसे बंद करें और खोलें?
- 22. UICollectionView: में अभिकथन विफलता - [UICollectionView _endItemAnimations]
- 23. neo4j: डेटाबेस कैसे स्विच करें?
- 24. UICollectionView setLayout: एनिमेटेड: zindex
- 25. एक UICollectionView
- 26. एक UICollectionView
- 27. UICollectionView शीर्षलेख
- 28. UITableView
- 29. स्क्रॉल व्यू को ऑफ़सेट करना UICollectionView/UITableView में समय-समय पर गायब होने वाली कोशिकाओं का कारण बनता है
- 30. अगर इससे बचें तो ... और अन्य मामलों को स्विच करें
यह बहुत खराब अंग्रेजी नहीं है लेकिन वर्तमान में यह एक खराब सवाल है। क्या आप _exactly_ पर फंस गए हैं? आपने अभी तक क्या करने की कोशिश की है? –
मुझे खेद है @ लेकिन मैं एक नौसिखिया हूँ! –