Tôi có một ứng dụng sử dụng số NSStatusItem
. Trên màn hình nhỏ không có nhiều không gian trên thanh trạng thái. Khi người dùng chuyển sang ứng dụng có nhiều mục menu, mục trạng thái của tôi sẽ bị ẩn. Có cách nào để nhận thông báo về điều này không?Được áp dụng khi NSStatusItem bị ẩn
gì tôi đã cố gắng cho đến nay:
- Tôi đã kiểm tra nếu có
NSNotification
là bắn: Không - Tôi đã kiểm tra nếu
statusView
được lấy ra từ hệ thống phân cấp view: Không - Tôi đã kiểm tra
isHiddenOrHasHiddenAncestor
: Không
Đây là mã tôi sử dụng để tạo mục trạng thái.
self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
MyStatusView *maView = [[[MyStatusView alloc] initWithFrame:CGRectMake(0, 0, 50, 22)] autorelease];
[statusItem setTitle:@"Ma Status Item"];
[statusItem setView:maView];
bạn có thể kiểm tra xem thuộc tính view.center có thay đổi khi di chuyển khỏi màn hình không? Bạn có thể thêm thông báo KVO vào thuộc tính trung tâm để thiết lập một loại gọi lại, nhưng tôi không biết liệu điều đó có hiệu quả với một statusItem hay không. – Suz
Tôi cũng có bộ hẹn giờ chạy ghi nhật ký liên quan đến cửa sổ. Không thay đổi ... Có vẻ như maView nằm trong cửa sổ riêng của nó (NSWindow> NSNextStepFrame> maView). Sẽ thử và xem nếu điều này được di chuyển ra khỏi màn hình. – stigi
Giới hạn cửa sổ cũng vẫn còn trên màn hình. Cửa sổ có thể bị che phủ bởi một thứ khác. Không biết làm thế nào để kiểm tra này mặc dù .. – stigi