NSNutlineView के लिए आपको दृश्य पंक्तियों का अनुक्रम कैसे प्राप्त हो सकता है? मुझे यह जानने की जरूरत है कि कौन सा स्तर और कौन सी पंक्तियां दिखाई दे रही हैं। (NSArray *) indexPathsForVisibleRowsNSNutlineView के लिए दृश्यमान पंक्तियों के अनुक्रमणिका कैसे प्राप्त कर सकते हैं?
उत्तर
मैंने अपना डेटासोर्स बदल दिया है ताकि आउटलाइन के लिए एनएसआईएंडएक्सपैथ वापस कर सकें: बच्चे: ITem:। इस तरह से मैं NSIndexPath प्राप्त करने के लिए [रूपरेखा पंक्ति एटपॉइंट: पॉइंट] (और इसी तरह) का उपयोग कर सकता हूं।
इस परिवर्तन के लिए मुझे इन इंडेक्सपैथ का एक सेट बनाने की आवश्यकता है ताकि जब तक मुझे उनकी आवश्यकता न हो, तब तक उन्हें रिहा नहीं किया जाएगा। साथ ही, अन्य सभी कोड जिन्हें आम तौर पर मॉडल ऑब्जेक्ट की अपेक्षा की जाती है, अब मॉडल ऑब्जेक्ट से मॉडल ऑब्जेक्ट को देखने की आवश्यकता है। मेरे मामले में यह कुशल था।
NSScrollView* scrollView = [self.tableView enclosingScrollView];
CGRect visibleRect = scrollView.contentView.visibleRect;
NSRange range = [self.tableView rowsInRect:visibleRect];
रेंज में
आप पहली बार दिखाई सेल के रूप में स्थान मिल जाएगा और लंबाई में कोशिकाओं की मात्रा दिखाए जाते हैं ताकि आप दिखाई कोशिकाओं के सूचकांक पता कर सकते हैं:
NSOutlineView
एक NSTableView
उपवर्ग है -
[संपादित करें] क्या मैं वास्तव में के लिए देख रहा हूँ CocoaTouch/UITableView के लिए एक NSOutlineView बराबर है। इसलिए -rowsInRect:
-visibleRect
(NSView
से) के साथ जोड़ा जा सकता है। स्तर निर्धारित करने के लिए -levelForRow:
का उपयोग करें।
लगता है जैसे आप मॉडल पुनरावृत्ति करने के लिए संख्या पंक्ति ऊपर भरोसा करना होगा। मैं वास्तव में रैखिक समय नहीं चाहता .... जब तक मुझे कुछ याद नहीं आ रहा है? – Cal
मुझे यकीन नहीं है कि आपका क्या मतलब है। आप आइटम द्वारा अपनी वास्तविक वस्तुओं में पंक्तियों का अनुवाद कर सकते हैं ForRow :, आदि –
क्षमा करें ... मेरा प्रश्न पर्याप्त विस्तृत नहीं था। मैं वास्तव में दृश्य पंक्तियों के लिए पेड़ निर्देशांक प्राप्त करने में सक्षम होना चाहता हूं। उदाहरण के लिए मेरे मामले में पेड़ के दो स्तर हैं इसलिए इसमें पत्ती नोड्स के लिए दो इंडेक्स होंगे। – Cal
आप निम्न कर सकते ।
महान जवाब! और उसके बाद [self.tableView itemAtRow: range.location] – stevesliva
यह सुनिश्चित नहीं है कि स्क्रॉल व्यू की अनावश्यक भागीदारी के अलावा, साढ़े सालों पहले मैंने जवाब से अलग कैसे किया है (आप एक दृश्य पूछ सकते हैं सीधे इसके '-visibleRect') के लिए और तथ्य यह है कि ओपी एक रूपरेखा दृश्य (पेड़) बनाम एक टेबल (सूची) के बारे में पूछ रहा है ... –
@JoshuaNozzi कोड पढ़ने के लिए आसान है –
स्विफ्ट में 3:
let rows = IndexSet(integersIn: 0..<outlineView.numberOfRows)
let rowViews = rows.flatMap { outlineView.rowView(atRow: $0, makeIfNecessary: false) as? TimelineRowView }
for rowView in rowViews
//iterate over rows
}
- 1. मैं कैसे तालिका में पंक्तियों के भीतर पंक्तियों प्रदर्शित कर सकते हैं?
- 2. आप विधि पैरामीटर के नाम कैसे प्राप्त कर सकते हैं?
- 3. आप UIElement के अभिभावक को कैसे प्राप्त कर सकते हैं?
- 4. रूट तत्व के गुण कैसे प्राप्त कर सकते हैं?
- 5. PHP, MySQL - क्या आप मिलान की पंक्तियों और पंक्तियों के बीच अंतर कर सकते हैं?
- 6. इंडेंटेशन के साथ बुलेट टेक्स्ट को लपेटने के लिए आप कैसे विम प्राप्त कर सकते हैं?
- 7. मैं कैसे एक नियम के मैच के लिए mod_rewrite प्राप्त कर सकते हैं बस एक बार
- 8. मैं ओपनसीएल compability के लिए कैसे परीक्षण कर सकते हैं?
- 9. मैं कैसे कॉन्फ़िग फ़ाइल के लिए ConnectionString नाम प्राप्त कर सकते हैं
- 10. हम काम करने के लिए kCAOnOrderOut कैसे प्राप्त कर सकते हैं?
- 11. मैं फिर से काम करने के लिए Mercurial कैसे प्राप्त कर सकते हैं?
- 12. ओपनजीएल में, आप आइटम को सामने खींचने के लिए कैसे प्राप्त कर सकते हैं?
- 13. वैध ट्री के दौरान सही दृश्यमान आय कैसे प्राप्त करें?
- 14. भाई बहनों के बीच तत्व संख्या/अनुक्रमणिका कैसे प्राप्त करें
- 15. संरक्षित फ़ील्ड उपclasses के लिए दृश्यमान नहीं हैं
- 16. मैं आर 2.15.2 के साथ विंडोज पर काम कर रहे Rtools कैसे प्राप्त कर सकते हैं?
- 17. xml से छवि कैसे प्राप्त कर सकते हैं?
- 18. कैसे मैं एक ActionFilter में actionName प्राप्त कर सकते हैं
- 19. साइथन एक EXE के लिए संकलित कर सकते हैं?
- 20. पैकेजेज इरादों के लिए प्रसारण प्राप्त नहीं कर सकते
- 21. मैं कैसे @OneToMany संग्रह के साथ पेजिंग कर सकते हैं
- 22. ऐप्पलस्क्रिप्ट घटनाओं के लिए सुन सकते हैं?
- 23. , हम केवल 1024bytes से कम डेटा लिख और प्राप्त कर सकते हैं: हम कैसे लिख सकते हैं या प्राप्त कर सकते हैं?
- 24. आप PowerShell स्क्रिप्ट के लिए चलाने के लिए समय सीमा कैसे सेट कर सकते हैं?
- 25. सी ++ कोड लिखने के लिए कैसे संकलक सिम के लिए आसानी से अनुकूलित कर सकते हैं?
- 26. तारों के लिए डीडीडी खाता कर सकते हैं?
- 27. विभिन्न सीपीयू के लिए जीसीसी क्रॉस संकलन कर सकते हैं?
- 28. विंडोज़ पर हमेशा के लिए स्थापित नहीं कर सकते हैं?
- 29. क्या कर सकते हैं कि sed क्या कर सकते हैं?
- 30. मैं कैसे परिभाषित कर सकते हैं एक्सेल
फिर भी इच्छा है कि एक indexPathsForVisibleRows समकक्ष था। – Cal