पर कॉल करने के लिए कैसे करें मेरे पास टेक्स्ट मैसेज व्यू-आधारित एनएसटीबल व्यू के साथ सरल चैट एप्लिकेशन है जैसा कि आप नीचे दी गई तस्वीर पर देख सकते हैं। प्रत्येक संदेश में सभी टेक्स्ट फिट करने के लिए ऊंचाई वाले NSTextView उदाहरण होते हैं।NSScrollView autoscroll-method प्रोग्रामेटिक रूप से
मुझे बस इतना आवश्यक है कि NSScrollView (जो एनएसटीबल व्यू-इंस्टेंस संलग्न है) ऑटोस्कोलिंग शुरू करें, जबकि उपयोगकर्ता टेक्स्ट खींचने वाले माउस को काफी दूर कर रहा है। दुर्भाग्यवश, ऑटोस्कोलिंग प्रकट नहीं होती है। टेक्स्ट दृश्यों के बाहर कहीं खींचने के मामले में सभी सफल होते हैं।
मैं फोन करने के लिए autoscroll:
-method सीधे बस से NSTextView
-subclass से NSEvent
-instance धक्का करने की कोशिश की (this article से उदाहरण की तरह) "माउस घसीटा" -event:
- (void)mouseDragged:(NSEvent *)event
{
[self.scrollView autoscroll:event];
}
मैं सभी overrode किया है माउस घटनाओं और सभी पाठ चयन लागू किया, यह विधि अक्सर invokes। लेकिन autoscrolling काम नहीं लग रहा है।
अद्यतन
मैं पता लगा कि -autoscroll:
कॉल करने से पहले -method एक ही वस्तु के -mouseDown:
होना चाहिए। लेकिन यह मेरे पाठ का चयन तंत्र को तोड़ देता है। बिंदु भी पहले उत्तरदाता होने में नहीं, mouseDown:
-method लेकिन कुछ भी नहीं होना चाहिए।
यदि आप कह रहे हैं कि NSScrollView के अंदर एक NSTableView के साथ और NSTableView पंक्तियां बहु-पंक्ति हैं, और जब सेल के अंदर पाठ का चयन करते हैं और स्क्रॉल व्यू के नीचे नीचे खींचते हैं, तो यह स्क्रॉल नहीं करता है? यदि ऐसा है, तो वह कार्यक्षमता स्वचालित रूप से NSScrollView द्वारा प्रदान की जाती है और चयन करते समय होने वाली स्क्रॉलिंग के लिए और कुछ भी आवश्यक नहीं है। परीक्षण करने के लिए, मैंने एक नई परियोजना बनाई, एक NSScrollView (NSTableView) जोड़ा, स्क्रॉल व्यू से पंक्ति पंक्ति ऊंचाई सेट करें और तालिकादृश्य पॉप्युलेट किया। पाठ पर क्लिक करना और फिर स्क्रॉलव्यू के नीचे पिछले चयन करना। यह स्वचालित रूप से स्क्रॉल किया गया। – Jay
@Jay मुझे एनएसटीबल व्यू स्क्रॉल व्यू ऑटोस्कोलिंग शुरू करने की आवश्यकता है, टेक्स्ट व्यू का एक नहीं (टेक्स्ट व्यू में टेक्स्ट फिट करने के लिए पर्याप्त ऊंचाई है)। – Astoria
मुझे यकीन नहीं है कि आप क्या पूछ रहे हैं। यह मानते हुए कि आप ऑब्जेक्ट लाइब्रेरी से Xcode में विंडो पर एनएसटीबल व्यू को दवा देते हैं, एनएसटीबल व्यू को एनएसएसक्रॉलव्यू द्वारा संलग्न किया जाएगा।यदि आप उस पंक्ति में माउस पर क्लिक करके तालिका में एक पंक्ति में टेक्स्ट का चयन करने का प्रयास कर रहे हैं जहां पाठ है और खींच रहा है (स्क्रीन स्क्रीन से यह कैसा दिखाई देता है, तो संलग्न एनएसक्रॉल व्यू स्वचालित रूप से संभालता है और स्क्रॉल करेगा आप पाठ का चयन करना जारी रख सकते हैं। – Jay