Hi tất cả mọi người,NSTextField không thể chỉnh sửa trong tùy chỉnh NSWindow
Nếu tôi tạo NSTextField theo quan điểm điều khiển của tôi thì tất cả là tốt - lĩnh vực này là có thể chỉnh sửa. Thật không may, tôi phải tạo NSTextField trong tùy chỉnh mới NSWindow. Mã của tôi dưới đây tạo ra một trường trông giống như không có tiêu điểm (lựa chọn văn bản có màu xám) và không thể chỉnh sửa (không có con trỏ và không có phản ứng đối với các nét chính). Tôi có thể thay đổi lựa chọn văn bản bằng chuột nhưng đó là tất cả.
Tôi có phải bật NSWindow để nhận các nét chính không?
Đánh giá cao sự giúp đỡ của bạn, --Josef
NSRect windowRect = [[self.window contentView] frame] ;
NSWindow* uiWindow = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered defer:YES];
[uiWindow setBackgroundColor: [NSColor redColor/*clearColor*/]];
[uiWindow setOpaque:NO];
NSView* uiView = [[[NSView alloc] initWithFrame:NSMakeRect(0, 0, windowRect.size.width, windowRect.size.height)] autorelease];
[uiView translateOriginToPoint:NSMakePoint(100, uiView.bounds.size.height/2)];
uiView.wantsLayer = YES;
[uiWindow setContentView:uiView];
NSTextField *textField;
textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 800, 80)];
[textField setFont:[NSFont fontWithName:@"Helvetica Bold" size:60]];
[textField setStringValue:@"My Label"];
[textField setBezeled:YES];
[textField setDrawsBackground:YES];
[textField setEditable:YES];
[textField setSelectable:YES];
[textField setEnabled:YES];
[uiView addSubview:textField];
// THIS DOES NOT WORK
[self.window addChildWindow:uiWindow ordered:NSWindowAbove];
// THIS WORKS
//[_graphicView addSubview:uiView];
Tôi chỉ thấy rằng nó được gây ra bởi kiểu cửa sổMask NSBorderlessWindowMask. Nếu tôi sử dụng NSTitledWindowMask thì tốt thôi. Có cách nào để kích hoạt bàn phím cho cửa sổ không viền? –