ম্যাকোজে এনএসটিেক্সটফিল্ডের ফোকাস ইভেন্টটি কীভাবে পর্যবেক্ষণ করবেন

becomeFirstResponder

ক্লাস ফোকাসঅওয়ারটেক্সটফিল্ড: এনএসটিেক্সটফিল্ড {var ফোকাস চেঞ্জ: (বুল) -> শূন্য = {_ ইন}
ওভাররাইড ফানক ফার্স্ট রেসপন্ডার () -> বুল {টেক্সটভিউ = উইন্ডো? এনএসটিেক্সটভিউ পাঠ্যদর্শন?? অন্তর্ভুক্তি পয়েন্ট কালার = আর.এনএস কালার.অ্যাকশন অন ফোকাস চ্যাঞ্জ (সত্য) সুপার.বেকোম ফার্স্ট রিসপন্ডার ()} return
টেক্সটফিল্ড.ডিলেগেট // এনএসটিেক্সটফিল্ড ডেলিগেট ফানক কন্ট্রোলটেক্সটডিড এন্ড এডিটিং (_ আপত্তি: বিজ্ঞপ্তি) {onFocusChange (মিথ্যা)}

এনএসটিেক্সটফিল্ড এবং এনএসটিেক্সট

https://stackoverflow.com/questions/25692122/how-to-detect-when-nstextfield-has-the-focus-or-is-its-content-selected-cocoa

আপনি অনুসন্ধানের ক্ষেত্রে ক্লিক করলে, অনুসন্ধান ক্ষেত্রটি একবারে প্রথম প্রতিক্রিয়াশীল হয়ে ওঠে, তবে এনএসটিেক্সট কিছু সময় পরে প্রস্তুত করা হবে এবং ফোকাসটি এনএসটিেক্সটে স্থানান্তরিত হবে।
আমি জানতে পেরেছি যে যখন এনএসটিেক্সট প্রস্তুত করা হয়, তখন এটি সেলফ্রেনসিটারএডিটর () এ সেট করা থাকে। সমস্যাটি হ'ল যখন ফার্স্ট রেসপন্ডার () এর কল হয়ে যায়, সেলফ্রন্টআরএডিটর () এখনও সেট করেনি। সুতরাং হয়ে উঠুন ফার্স্ট রেসপন্ডার () এর ফোকাস সনাক্ত করার পদ্ধতি নয়।
অন্যদিকে, যখন ফোকাসটি এনএসটিেক্সটে সরানো হয়, তখন পাঠ্য ক্ষেত্রের ইস্তফা দিয়ে ফার্স্ট রেসপন্ডার () বলা হয় এবং আপনি কী জানেন? সেলফ কন্টেন্টএডিটর () সেট করেছে। সুতরাং, এই মুহূর্তে এটি প্রতিনিধিদের বলার জন্য যে সেই পাঠ্য ক্ষেত্রটি ফোকাস হয়ে গেছে got