سؤال

وأنا خلق فئة فرعية مخصصة من NSPopUpButton وNSPopUpButtonCell لعرض رمز وحيد على أعلى زر بدلا من النص المعتاد.

لذلك أنا تجاوز

- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

وفي بلدي زر خلية فرعية إلى رسم رمز لي في الحجم والموقع المناسب. عندما يصطاد الفئران المستخدم على زر I ثم تريد تغيير الصورة. مشكلتي الوحيدة هي أنني لا يمكن معرفة كيفية جعل إعادة عرض ألواح الخلايا زر (عن طريق الاتصال drawInterior ... مرة أخرى). افتراضيا يبدو فقط لإعادة عندما يتم النقر على زر أو عند نقل التركيز إلى إطار آخر. لقد حاولت setNeedsDisplay: نعم ولكن هذا لا يبدو أن ذلك

هل كانت مفيدة؟

المحلول

وكانت الطريقة وجدت للقيام بذلك لإدراج دعوة إلى

[self updateCell:self.cell];

وداخل بلدي NSPopUpButton فرعية على الفور بعد أي لحظة غيرت الصورة المعروضة من قبل الخلية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top