سؤال

سؤال سريع عن UISegmentedControl فئة على اي فون.

ونأمل أن بعض قد لاحظت كيف في حالته الافتراضية مع 2 شرائح مجزأة التحكم لا يزال تبديل حتى إذا كان المستخدم الصنابير على الجزء المحدد حاليا.

رأيت UISegmentedControls في التطبيقات التي ينفي هذا السلوك لا تبديل عندما يضغط المستخدم المحدد القطاع.وهي أبل اي تيونز التطبيق المتجر.

هناك طريقة بسيطة للوقاية من هذا السلوك الذي أنا تطل, أو هل أنا بحاجة إلى كتابة بعض المنطق في valueChanged?

كنت أحاول أن تعطيل المحدد حاليا قطاعات تمكين غير محددة منها ، ولكن يبدو أن تغيير مظهر عنصر التحكم عندما كنت لا تريد القيام به.

أي أفكار ؟

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

المحلول

ابحث في UISegmentedControl.ح رأس ملف (طريقة سهلة انقر نقرا مزدوجا فوق "UISegmentedControl" في كسكودي مع قيادة عقد لأسفل).

هناك سترى عدد من العناصر في _segmentedControlFlags البنية.إذا كنت تجعل فئة على UISegmentedControl ، يمكنك التعامل مع أي من تلك العناصر بما في ذلك dontAlwaysToggleForTwoSegments والتي كما كنت قد تخمين من الاسم هو ما كنت أبحث عنه.

لأن هذا هو موثق في API رأس (وإن لم يكن في التوثيق الفعلي) يجب أن تكون آمنة جدا للاستخدام.

نصائح أخرى

لقد تم تغيير السلوك الافتراضي هذا في API 3.0.

في 3.0،"_segmentedControlFlags"وقد تم تغيير "لحظة"الملكية التي لا يزال يمكن العثور عليها في UISegmentedControl.ح رأس الملف.

والوصول إلى _segmentedControlFlags عبر يعتبر الفئة كما استخدام API الخاص، وبالتالي انتهاكا لاتفاقية الترخيص من قبل شركة آبل، وكان علي أن أتعلم اليوم. حتى الآن، فكرت، فئات هي سمة لغة لإصلاح شخص ELSES تصميم من الدرجة الرهيبة ...

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