2017-11-10 4 views
0

私は、メニュー項目の1つを中心とする大きな画像を持つステータスメニューアプリを作成しています。これまでのところ、状態メニューに最小幅を設定しようとするまでうまくいきました。最小幅のNSMenu:pressingを押すと、カスタムビューで最小幅が無視されます。

⌥(オプション)キーを押すと、代替メニュー項目を使用するために、画像を含むカスタム表示が、最小幅がない場合のサイズにサイズ変更されます。

holdingを保持する前後の問題を示す画像です。グレーの色は、の全幅をカバーするように調整するカスタムビューです。

before after

問題がある限り、メニューも⌥解放した後、開いているが、⌥が再び押されるまでメニューを閉じて再び開いたとき、離れて行くように持続します。

私のシステムのバージョンはMac OS X v10.12.6(Sierra)です。ビューのための私の自動サイズ変更マスクはこれです:

let autoresizingMask: NSView.AutoresizingMask = [.minXMargin, .minYMargin, .maxXMargin, .maxYMargin, .width, .height] 

編集:私は、メニュー項目を中心にビューを作成し、(.width.heightなし)ストレッチされていない場合、それはまだ左に移動します。

答えて

0

私は、解決策が非常に簡単であることに気づきました。私はちょうど私のカスタムビューのフレーム幅をステータスメニューの最小幅に設定する必要がありました。

let r = NSRect(x: 0, y: 0, width: statusMenuMinWidth, height: h) 
関連する問題