كيف يمكنني تطبيق عرض مصغرات مصغرة للاختيار المستخدم في الكاكاو؟

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

سؤال

لدي ما اعتقدت أنه حاجة بسيطة جدا لكنني لست متأكدا من كيفية التنفيذ.

عند نقاط مختلفة في واجهة بلدي، يطلب من المستخدم إجراء مجموعة مختارة من شيء ما بصرية (مثل اختيار تخطيط لصفحة أو خيار اللون.) هذه الاختيارات مصنوعة من مجموعة محددة مسبقا من الخيارات. عادة كنت تستخدم nspopupbutton، أو ربما nstableview، ولكن أود المستخدم أن يرى الصور المصغرة لكل خيار التحديد. يجب أن تكون هذه الصور المصغرة حجما لائقا أيضا - على الأقل 100x100 بكسل. يجب أيضا أن تكون كل مصغرة مصحوبة بتسمية نصية. مطلوب فقط اختيار واحد في وقت واحد.

أبل تنفذ شيئا ما مثل هذا في IWeb:

iweb http://img187.imageshack.us/img187/5744/iweb.jpg.

بالطبع، كنت معتادا على رؤية شيء مثل هذا مع الرموز الصغيرة:

xcode

أعتقد أن NSCollectionView هو المكان المناسب للبدء، لكنني لم أر هذا فقط على الإطلاق المستخدم في سيناريوهات أكثر تعقيدا (على سبيل المثال: عرض محتويات الدليل، ودعم السحب والإفلات، وما إلى ذلك) لذلك، معظم الرمز الذي وجدته معقدة إلى حد ما.

هل هناك حل أبسط لملء هذا الرأي بالبيانات الثابتة المحددة مسبقا والسماح فقط باختيار بسيط؟ بمعنى آخر، أبحث عن وظيفة زر منبثقة ولكن واجهة مستخدم مختلفة.

تحديث: الحل

اعتدت IkimageBrowser، كما هو مقترح. هذا البرنامج التعليمي كان مفيدا جدا. في IB: أنا فقط جعلت ikimageBrowser في واجهتي، ملفوفة في عرض التمرير، وجعلها مصدر البيانات لكائن المتصفح. في التعليمات البرمجية: تنفيذ بروتوكول مصدر البيانات في وحدة التحكم الخاصة بي مثل البرنامج التعليمي، قم بتعيين المسموح بالسماح والسماد المسموح به إلى NO، أنشأ كائن صورة مخصص باستخدام تمثيل صورة URL تماما كما هو موضح في البرنامج التعليمي.

ثم، للحصول على التحديد، كتبت الطريقة التالية التي يجب تشغيلها عند النقر فوق الزر "موافق":

NSIndexSet *retval = [imageBrowser selectionIndexes];
NSInteger i = [retval firstIndex];  //the index of the selection. Corresponds to index in my array data source
NSString* path = [[styleViewData objectAtIndex:i] imageRepresentation]; //path to selected image, if you need it

البرنامج التعليمي مفيدا للغاية - فقط تجاهل الأشياء حول إضافة الصور والتكبير المتزلجون ومثل هذا.

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

المحلول

تريد ikimageBrowserview.

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