トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Tag: Cocoa/ドラッグアンドドロップ

目次

関連ページ

参考情報

Tips

新しいスタイル

  • Drag and Drop in Swift - Issues with Registering for Dragged Types? - Stack Overflowにある情報によると、registerForDraggedTypesに文字列で指定するタイプのコードは古く、registerですべてのコードを受け入れ、canReadObjectなどで制限するのが新しい方法らしい。
    self.register(forDraggedTypes: [kUTTypeURL as String])
    
    override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation {
            let pasteboard = sender.draggingPasteboard()
            let filteringOptions = [NSPasteboardURLReadingContentsConformToTypesKey:NSImage.imageTypes()]
                    if pasteboard.canReadObject(forClasses: [NSURL.self], options: filteringOptions) {
                            return NSDragOperation.copy
            }      
            return NSDragOperation() //alternatively: []
    }
    

NSImageView

Image WellとImage Viewの違いって

  • Interface BuilderではImage WellとImage Viewが追加できる。
  • Image Wellはドラッグ&ドロップをサポートするとあるが、どちらもEditableにチェックを入れれば画像ドロップが可能。
  • Image WellとImage Viewの違いは外見だけ?

ドロップ可能にする

  • Attributes InspectorでEditableにチェックを入れる
  • ドロップ時の画像サイズはScalingで調節。
    • Proportionally Down: 縦横比を保ったまま縮小
    • Axes Independently: 縦横比を無視して拡大・縮小
    • None: 拡大縮小なし
    • Proportionally Up ow Down: 縦横比を保ったまま拡大 or 縮小

フォーカスリングを表示しない

  • Editableにチェックを入れるとフォーカスの存在するビューに青いフォーカスリングが表示されるようになる。
  • これを変更するにはAttributes InspectorのFocus RingをNoneに変更する。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-10 (木) 20:13:30 (159d)