Mountain Lion cung cấp một built-in nút chia sẻ rằng tiết lộ một danh mục các dịch vụ chia sẻ thích hợp cho các ứng dụng:Làm cách nào để hiển thị nút chia sẻ trong Mountain Lion?
Làm thế nào tôi có thể chèn nó trong ứng dụng của tôi?
Mountain Lion cung cấp một built-in nút chia sẻ rằng tiết lộ một danh mục các dịch vụ chia sẻ thích hợp cho các ứng dụng:Làm cách nào để hiển thị nút chia sẻ trong Mountain Lion?
Làm thế nào tôi có thể chèn nó trong ứng dụng của tôi?
Để thêm nút chia sẻ trên Mountain Lion:
1) Thêm một NSButton
gọi, ví dụ, shareButton
.
2) Thêm hình ảnh tiêu chuẩn cho nút này:
3) Into the "trên nhấp chuột hành động", trình bày các NSSharingServicePicker
:
NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:urls];
sharingServicePicker.delegate = self;
[sharingServicePicker showRelativeToRect:[sender bounds]
ofView:sender
preferredEdge:NSMinYEdge];
4) Cuối cùng, triển khai các phương thức NSSharingServicePickerDelegate
để tùy chỉnh các dịch vụ có sẵn của trình chọn.
Lưu ý rằng nếu bạn đang cố gắng để thêm nút này thông qua giao diện Builder:
Nó có vẻ không ổn với tôi trong XCode nhưng hoạt động tốt khi chạy.
PS - Đây có vẻ là trường hợp you need to use the System Icon string value (NSShareTemplate) thay vì hằng số (NSImageNameShareTemplate).
Trong Swift, tôi đã sử dụng này:
extension NSSharingService {
class func shareContent (content: [AnyObject], button: NSButton) {
let sharingServicePicker = NSSharingServicePicker (items: content)
sharingServicePicker.showRelativeToRect(button.bounds, ofView: button, preferredEdge: NSRectEdge.MaxY)
}
}
cách sử dụng? – user1374
Đề nghị không sử dụng IB để thiết lập hình ảnh. Nó chỉ hoạt động khi thiết lập nó thông qua mã. Ngoài ra, cũng nên thêm dòng sau vào sau: "[shareButton sendActionOn: NSLeftMouseDownMask];" – Arvin