سؤال

أريد عرض NSALERT مع طريقة عرض ملحق بشكل أساسي.يحتاج عرض الملحقات إلى أن يكون لديك:

1) nstexview لعرض محتويات إلزامية

2) زر الإفصاح مع nstexview

يطلب من زر الإفصاح إخفاء وإظهار الثانية nstextview.ومع ذلك، في الوقت نفسه أريد أن تغيير حجم مربع حوار NSALERT لاستيعاب وتناسب المحتويات. يحتوي مربع الحوار "حفظ" في Cocoa على زر الإفصاح الذي يفعله هذا بشكل أساسي وأريد نفس الوظيفة مع NSALERT. اقتراحات؟

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

المحلول

Here you go:

1) NSAlert has a window property. Hence use that.

2) Create a custom accessory view containing two NSTextView's and a disclosure triangle

3) Set this custom view as accessory view of NSAlert

4) Before displaying the alert, set the window property of NSAlert in your custom view (This way you will have access to NSAlert's window when you click disclosure triangle)

5) Add target for the disclosure button event and save the state (expanded/collapsed)

6) In the event for disclosure triangle click: Use NSAlert's saved window frame to adjust the height, size and width of NSAlert.

7) Important here is to note that - when you adjust the height, NSAlert grows from top hence you will be required to move the "origin" accordingly.

Hope this helps :). I had to spend entire weekend to figure out how to do this :D. BTW, just out of curiosity which project or company are you working on?

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