قم بزيادة المسافات الضيقة جدًا بين الأيقونات في NSOutlineView

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

سؤال

أنا أكتب تطبيق Cocoa الذي يعرض محتويات ملف الأرشيف في ملف NSoutlineView.أقدم أيقونات مخصصة لـ NSBrowserCell في عمود المخطط التفصيلي، ولكن لم أتمكن من الحصول على التباعد بشكل صحيح تمامًا - تظهر أيقونة المجلد دائمًا قريبة جدًا من مثلث الكشف، كما هو موضح أدناه.(فويو، الإصدارات و BetterZip كلاهما يعرضان بيانات متشابهة دون مشاكل التباعد.)

NSOutlineView-icon-spacing http://img.skitch.com/20090918-tgfjh9x8dhgqxqnb2su8fby4ng.jpg

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


للفضوليين ، جارسكان هي أداة سطر أوامر سهلة الاستخدام (مجانية) لتحديد فئات Java داخل ملفات JAR.

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

المحلول

"عمود الجدول التفصيلي" (انظر -[NSOutlineView outlineTableColumn]) هل NSTableColumn الذي يرسم المثلث والحشوة اليسرى حسب الحاجة لعرض التسلسل الهرمي.الخلية الافتراضية لعرض محتوى الجدول هي NSTextFieldCell.لزيادة التباعد الذي تراه، عليك القيام بالرسم في فئة فرعية مخصصة NSTextFieldCell.يتم تحقيق التباعد عن طريق رسم صورتك بإزاحة x.(سيرسم عرض المخطط التفصيلي مثلث الكشف بغض النظر عن الفئة الفرعية NScell ​​المستخدمة.)

لاحظ أنه قد يتعين عليك تجاوز الطرق التالية للرسم بشكل صحيح عندما يكون من الممكن كتابة الخلية وتحديدها للتحرير واستخدام تلميح الأداة:

افتراضيًا، سيتم تجاهل مستطيلات النص المخصصة الخاصة بك بواسطة حقل النص وسيتم رسمها بشكل غريب.

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