2008-12-25 25 views
23

Làm cách nào để thêm huy hiệu vào biểu tượng Bến tàu cho ứng dụng của tôi bằng Cocoa? Có cách nào "chuẩn hóa" để làm điều này không?Làm cách nào để vẽ huy hiệu trên biểu tượng Bến tàu của tôi bằng Cocoa?

(tôi đề cập đến các loại phù hiệu mà hiển thị trong ứng dụng Mail, iChat vv để cho biết số tin nhắn chưa đọc và những thứ tương tự.)

Cocoa Touch không cung cấp một phương pháp như vậy, nhưng tôi thiên đường đã không thể tìm thấy bất kỳ tương đương cho một ứng dụng Cocoa thường xuyên.

Trả lời

19

Sử dụng

[[[NSApplication sharedApplication] dockTile] setBadgeLabel:@"2234"]; 

Phương pháp này, và lớp NSDockTile, đã có sẵn từ Leopard.

17

Tìm kiếm nhanh trên google được bật lên lớp NSDockTile. Có vẻ khá tự giải thích một khi bạn có một ngây thơ tại các tài liệu hướng dẫn.

25

Cần lưu ý rằng NSDockTile chỉ khả dụng trên Leopard. Nếu bạn cần nhắm mục tiêu đến Tiger, bạn sẽ cần phải sử dụng -setApplicationIconImage: trên đối tượng NSApplication của bạn và vẽ huy hiệu của bạn bằng tay.

Ngoài ra, nó không có trong tài liệu bên ngoài ghi chú phát hành mà tôi có thể tìm thấy nhưng bạn nhận được ô xếp của ứng dụng bằng cách gửi thông báo dockTile đến đối tượng NSApplication của bạn.

NSDockTile *tile = [[NSApplication sharedApplication] dockTile]; 
[tile setBadgeLabel:@"Lots"]; 
+0

Thực tế, với 10.6 sắp ra mắt trong 6 tháng tới hoặc ít hơn, chỉ hỗ trợ Leopard có lẽ là tốt. – wfarr

+1

Trong trường hợp của bạn và trường hợp của tôi có thể như vậy, nhưng Debajit ít nhất phải nhận thức được ý nghĩa của việc sử dụng NSDockTile và các tùy chọn có sẵn khác. –

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