Câu hỏi Hình ảnh xem nhanh lập trình trong Mac OS X


Tôi đang phát triển một ứng dụng cho Mac OS X trong Xcode và tôi đang cố gắng triển khai nút mở hình ảnh trong chế độ Xem nhanh (như khi bạn chọn một hình ảnh trong Trình tìm kiếm và nhấn <khoảng cách>).

Tôi muốn điều này hoạt động giống như Skype dành cho Mac khi bạn nhấp vào biểu tượng "mắt" nhỏ bên cạnh tệp được tải xuống trong khi trò chuyện.

Bất kỳ lời khuyên nào về cách đạt được điều này?


9
2017-10-28 18:33


gốc


tìm kiếm trên google dẫn tôi đến hướng dẫn táo về cách thực hiện điều này một cách chính xác -developer.apple.com/library/mac/#documentation/UserExperience/… - Justin Meiners
Xin chào Justin. Tôi đã tự mình xem tài liệu đó, nhưng dường như nó không trả lời câu hỏi của tôi. Dường như toàn bộ tài liệu là tất cả về việc triển khai các trình tạo Quick Look. Đối với tất cả các loại hình ảnh phổ biến có máy phát điện rồi. Những gì tôi muốn làm không phải là để thực hiện một máy phát điện, nhưng để gọi một máy phát điện Quick Look từ bên trong ứng dụng của tôi, thay vì thông qua Finder. - bgh
nó mô tả cách tạo hình ảnh xem trước từ một tệp hơn là bạn sẽ đặt nó trong chế độ xem của riêng bạn. Đúng? có lẽ im thiếu cái gì đó - Justin Meiners
Tôi không muốn đặt hình ảnh xem trước trong chế độ xem của riêng mình. Tôi muốn bản xem trước hiển thị trong cửa sổ Quicklook chuẩn. Nó sẽ hoạt động chính xác như khi bạn xem nhanh tệp qua Skype bằng cách nhấp vào biểu tượng con mắt. - bgh
Bất kỳ ý tưởng? Bất kỳ ai? - bgh


Các câu trả lời:


Sau khi xem lại câu hỏi này, cuối cùng tôi đã xem qua một nguồn tài nguyên đã giúp tôi đi đúng hướng để giải quyết vấn đề.

Hướng dẫn lập trình xem nhanh của Apple dường như rất tập trung vào việc triển khai các trình tạo, đó không phải là những gì tôi quan tâm. Tài liệu này dường như không có phần giải thích cách hiển thị bản xem trước QuickLook từ bên trong ứng dụng của bạn. Tuy nhiên, tôi đã xem xét một dự án ví dụ (QuickLookDownloader) rất độc đáo minh họa cách nó được thực hiện.

Về cơ bản, bạn sử dụng đối tượng QLPreviewPanel được chia sẻ của ứng dụng. Bạn làm cho QLPreviewPanel cửa sổ khóa bằng cách gọi phương thức makeKeyAndOrderFront: của nó. Sau đó bạn chấp nhận (và phát hành) QLPreviewPanel thông qua các phương thức của giao thức QLPreviewPanelController. Các phương thức này được gọi trên đối tượng đầu tiên trên chuỗi trả lời đáp ứng với nó khi QLPreviewPanel trở thành khóa. Bạn cũng phải thực hiện các giao thức QLPreviewPanelDataSource và QLPreviewPanelDelegate và gán các đại biểu cho QLPreviewPanel.

Có một vài bước cần được thực hiện, nhưng dự án ví dụ QuickLookDownloader minh họa nó một cách độc đáo.


26
2017-11-18 19:50