开发者

Adding Disclosure button and NSTextView to NSAlert

开发者 https://www.devze.com 2023-02-12 07:48 出处:网络
I want to display an NSAlert with basically an Accessory view. The Accessory view needs to have: 1) NSTexView for displaying mandatory contents

I want to display an NSAlert with basically an Accessory view. The Accessory view needs to have:

1) NSTexView for displaying mandatory contents

2) Disclosure button with NSTextView

The Disclosure button is required to hide and show the second NSTextView. However, at the same time 开发者_StackOverflow社区i want that NSAlert dialog resize to accomodate and fit to contents. The Save dialog in Cocoa has a disclosure button that basically does this and i want the same functionality with NSAlert. Suggestions?


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?

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号