كيف يمكنني تمكين تحديد شرائح متعددة من UISegmentedControl؟

StackOverflow https://stackoverflow.com/questions/1029570

  •  06-07-2019
  •  | 
  •  

سؤال

لنفترض أن UISegmentedControl الخاص بي يحتوي على 8 أجزاء مرقمة.أود أن يتمكن المستخدم من تشغيل 2 أو 3 أو أكثر منهم في وقت واحد.تبديل لهم.في الأساس مثل البتات في البايت.هل هذا ممكن؟أعتقد أنه موجود على نظام التشغيل Mac OS X العادي ولكن لا يمكنني العثور على طريقة للقيام بذلك في iPhone SDK.

إذا كان لا بد لي من محاكاة ذلك عن طريق وضع الأزرار في طريقة العرض، فهل هناك أي طريقة للقيام بما يلي:

  1. قم بتدوير زوايا العرض بحيث تبدو مثل نمط "الشريط" UISegmentedControl؟
  2. هل تريد استخدام الخلفيات المضمنة التي يحتوي عليها نمط "الشريط" على الأزرار؟
  3. هل تريد إعطاء الأزرار ظلًا مثل نمط "الشريط" بأكمله؟(وليس النص)
هل كانت مفيدة؟

المحلول

هذا غير ممكن باستخدام UIKit.أوصي بإنشاء عنصر تحكم مخصص، أو مجموعة من UISwitch عناصر التحكم، التي تمثل كل خيار من الخيارات الموجودة في UISegmentedControl.

نصائح أخرى

هذا هو أفضل عنصر تحكم مخصص وجدته يسمح بتحديد شرائح متعددة بشكل متزامن:

https://github.com/yonat/MultiSelectSegmentedControl

هذا هو فئة فرعية من UISegmentedControl، وهو مناسب.لقد تشعبت هنا:

https://github.com/stewartmacdonald/MultiSelectSegmentedControl

وأضفت بعض أمثلة التعليمات البرمجية إلى المستند التمهيدي وأضفت طريقة تسمح لك بالحصول على NSArray لعناوين جميع المقاطع المحددة.

أعتقد أن أبسط طريقة هي إنشاء عنصر تحكم مجزأ خاص بك باستخدام UIButton.

ماركو

يبدو أن هناك طريقة للقيام بذلك في XCode الآن.يوجد في "مفتش السمات" قسم يحتوي على المقطع والعنوان والصورة والسلوك.خيارات السلوك هي "ممكّنة" و"محددة".يمكنك تحديد "محدد" لشرائح متعددة.

أنصحك بالمحاولة https://github.com/tayhalla/THSegmentedControl
إنها فئة فرعية فعلية من UISegmentedControl لذلك فهو يتناسب بشكل جيد مع Interface Builder وكل شيء.

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