Khi tạo nút bevel Cocoa với hình ảnh tùy chỉnh và hình ảnh thay thế, tôi đang có một hành vi lạ. Trong trạng thái nhấn, nền nút trở thành màu trắng. Tôi đang thêm nút làm subview của cửa sổ trong suốt (cửa sổ HUD).NSButton nền trắng khi nhấp vào
Tôi đang cố gắng mỗi kỹ thuật mà tôi biết:
NSButton *closeButton = [[NSButton alloc] initWithFrame:NSMakeRect(0.0, 0.0, 30.0, 30.0)];
[closeButton setFrameOrigin:NSMakePoint(0.0, 0.0)];
[closeButton setImagePosition:NSImageOnly];
[closeButton setAction:@selector(closeWindowAction:)];
[closeButton setBordered:NO];
[closeButton setTransparent:NO];
[closeButton setImage:[NSImage imageNamed:@"icon-tclose-off"]];
[closeButton setAlternateImage:[NSImage imageNamed:@"icon-tclose-on"]];
[closeButton setBezelStyle:NSShadowlessSquareBezelStyle];
[closeButton setButtonType:NSMomentaryLightButton];
//[[closeButton cell] setBackgroundColor:[NSColor clearColor]];
[[closeButton cell] setHighlightsBy:NSChangeBackgroundCellMask|NSCellLightsByContents];
//[[closeButton cell] setHighlightsBy:NSContentsCellMask];
//[[closeButton cell] setShowsStateBy:0|NSContentsCellMask];
Tôi cũng đã cố gắng
[closeButton setButtonType:NSMomentaryChangeButton];
[[closeButton cell] setHighlightsBy:NSContentsCellMask];
không có kết quả.
Bạn có thể thấy các hành vi sai trong các ảnh chụp màn hình kèm theo:
nút Bevel bao phủ một cửa sổ HUD:
Wrong nút bevel nền:
Nó không rõ ràng với tôi là NSWindow myWindow này. Có phải là hộp chứa nút không? Trong trường hợp này rect nội dung của nó là những gì bạn định nghĩa là NSRect rect? – loretoparisi
hiện đã rõ chưa? –
Nghe có vẻ tuyệt vời! – loretoparisi