2012-08-05 11 views

Trả lời

21

Để 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.

1

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:

  1. Chọn nút
  2. Đổi thành Attributes thanh tra
  3. Xóa nút Tiêu đề
  4. Insert: NSShareTemplate như Tên Hình ảnh.

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).

+0

Đề 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

0

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) 
    } 
} 
+0

cách sử dụng? – user1374

Các vấn đề liên quan