2019-03-01から1ヶ月間の記事一覧
アラートの表示 アラートを作る let alert = NSAlert() ダイアログとして表示 alert.runModal() 押されたボタンを確認 runModal()の戻り値で確認できます。 let response = alert.runModal() switch response { case .alertFirstButtonReturn: break case .a…
NSTextViewで折りたたみ(フォールディング)は、折りたたみたい文字のグリフをNullGlyphに置き換えることで実現できます。 下記に手順を紹介します。 折りたたむ文字列に目印をつける 折りたたみたい文字に目印となるカスタム属性を設定します。 ここではカス…
任意の文字列にリンクを設定 NSTextStorageにキーがNSAttributedString.Key.linkで値がURLの属性を設定すれば任意の文字列にリンクを設定できます。 textView.string = "Link to Blog" let url = URL(string: "https://tid-a24.hatenablog.com/")! textView.…
BehaviorでNSPopoverの閉じる方法(挙動)を指定します。 let popover = NSPopover() popover.behavior = .transient Behaviorは3種類定義されています。 applicationDefined 開発者が動作を定義する。(閉じるボタンをつけるなど。) 自動で閉じることはない。 …
環境設定のWindowをNSPanelにすることでEscapeキーで閉じるようにできます。 これだけでEscapeキー(または⌘-.)で閉じるようになります。
macOSの環境設定などで見かけるラベル:ユーザー入力可能なビューが規則的に並ぶレイアウトはNSGridViewを使うと楽に実装できます。 NSStackViewでも実装できないことはありませんが、 アラビア語などの右から左に読む言語へのローカライズが発生すると辛い…