Tôi đang cố gắng sử dụng NSProgressIndicator (không xác định) bên trong menu trạng thái. Tôi đang sử dụng một đối tượng NSView làm khung nhìn cho menuitem, và sau đó xem lại chỉ báo tiến trình để hiển thị nó. Nhưng bất cứ khi nào tôi cố gắng gọi startAnimation: cho tiến trình, không có gì xảy ra. Khi tôi cố gắng làm điều tương tự trên một NSWindow bình thường, nó hoạt động hoàn hảo, không phải khi bên trong một menuitem.Sử dụng NSProgressIndicator bên trong NSMenuItem
Tôi là người mới đối với cả ca cao và khách quan-c nên tôi có thể đã bỏ qua điều gì đó "hiển nhiên" nhưng tôi đã tìm kiếm khá một chút để giải quyết nhưng không thành công. Tôi tìm thấy một cái gì đó về menuitems không thể được cập nhật trong khi được hiển thị và rằng bạn cần phải sử dụng một cửa sổ vô giá thay thế. Nhưng tôi đã không thể xác nhận điều này trong bất kỳ tài liệu nào.
Chỉnh sửa:
Ok, gần như hoạt động ngay bây giờ. Khi sử dụng setUsesThreadedAnimation: và từ menu MenuDelegateWillOpen và tạo một chuỗi mới. Chủ đề này chạy một phương pháp cục bộ:
-(void) doWork(NSProgressIndicator*) p{
[p startAnimation:self];
}
Điều này sẽ bắt đầu tiến trình trên cơ sở ngẫu nhiên (?) Khi mở menu. Nếu tôi gọi trực tiếp startAnimation:
mà không qua doWork:
(vẫn đang sử dụng một chuỗi mới), nó sẽ không bao giờ hoạt động. Không setUsesThreadedAnimation:
làm cho thanh tiến trình tạo chuỗi riêng cho hoạt ảnh?
Cảm ơn bạn rất nhiều vì lời khuyên đó, nó thực sự hữu ích! – Yojik
Điên bao lâu tôi đã tìm kiếm để thực hiện công việc này, cảm ơn rất nhiều! – Jasper
Cảm ơn bạn thân mến Cảm ơn bạn thân mến! –