9

पर देखे जाने वाले मुख्य मूल्य UIButton की एक राज्य संपत्ति है, जो कि सभी खातों द्वारा केवीओ अनुपालन प्रतीत होता है और अन्यथा इंगित करने के लिए कोई दस्तावेज नहीं है। हालांकि, जब मैंने UIButton की राज्य संपत्ति में पर्यवेक्षक जोड़ा, तो पर्यवेक्षक कॉलबैक कभी नहीं बुलाया गया था। कैसे?UIButton के राज्य

उत्तर

21

आप UIControl के प्रलेखन को देखें, तो राज्य संपत्ति चिह्नित है: synthesized from other flags.

मुझे लगता है कि यही कारण है कि इस संपत्ति में परिवर्तन KVO अनुरूप नहीं हैं।

हालांकि, आप बस रजिस्टर कर सकते हैं और मूल्यों की जरूरत के लिए पर्यवेक्षक - highlighted, selected, enabled. इन गुणों KVO संगत हैं और जब वे बदल आप पर्यवेक्षक कॉलबैक मिल जाएगा।

+4

धन्यवाद। मैं वर्तमान में अन्य गुणों पर केवीओ-आईएनजी हूं। आम तौर पर, मुझे लगता है कि केवीओ के अनुरूप कौन से गुण हैं और कोको में क्या नहीं हैं, इस पर दस्तावेज की कमी है; आप उसी तरह महसूस करते हैं? –

+1

मैंने 'UIButton' पर 'चयनित' को देखने का प्रयास किया, लेकिन मेरे पर्यवेक्षक को नहीं कहा जाता है। 'हाइलाइट' पर स्विच किया गया, और यह काम करता है। स्विफ्ट का उपयोग करना 2. –

+0

मेरा बटन स्विच की तरह काम करता है, इसलिए अंत में मैंने 'हाइलाइट' सुनने का फैसला किया। इसे दो बार (हाइलाइटिंग और डी-हाइलाइटिंग पर) कहा जाता है, इसलिए यदि मैं 'हाइलाइट किया गया' सत्य है, तो मैं इसे अनदेखा करता हूं, और उसके बाद बटन की 'चयनित' स्थिति का निरीक्षण करने के लिए आगे बढ़ता हूं। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^