2009-05-06 23 views
6

Tôi đang cố gắng viết tương đương chương trình của tệp nib mà tôi đã thiết lập có chứa hai cửa sổ: cửa sổ chính và trang tính xuất hiện sau khi khởi chạy để nhắc thông tin đăng nhập. Việc kết nối các thiết bị này trong IB hoạt động tốt, miễn là người dùng nhớ để bỏ chọn hộp "Hiển thị khi khởi chạy" trên trang tính/cửa sổ.Tương đương với chương trình "Có thể nhìn thấy lúc khởi chạy" cho NSWindows

Tuy nhiên, tôi không thể tìm ra tương đương API là "Có thể nhìn thấy khi khởi chạy". Khi tôi chạy ứng dụng của mình bằng phiên bản có lập trình, trang tính được tách ra và không phải là chế độ xem khóa theo cùng một cách mà ứng dụng của tôi chạy với ngòi khi "Hiển thị khi khởi chạy" được chọn. Vì vậy, giả định của tôi, sau đó, là tôi đang thiếu nước bí mật có thể nhìn thấy-tại-khởi động.

Có ai biết cách thực hiện việc này không?

P.S. Tôi biết làm thế nào để làm cho công việc này trong IB, tôi đặc biệt muốn tìm ra mã tương đương vì vậy xin vui lòng không cho tôi biết chỉ cần sử dụng ngòi. Tôi biết điều đó.

Trả lời

2

NSWindows thường được tạo ẩn. Vì vậy, bạn không cần phải làm bất cứ điều gì; chỉ cần không hiển thị cửa sổ cho đến khi bạn cần. Đây là một ví dụ đơn giản.

NSWindow *sheetWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 100, 100) styleMask:NSTitledWindowMask backing:NSBackingStoreBuffered defer:NO]; 
NSTextField *field = [[NSTextField alloc] initWithFrame: NSMakeRect(25, 25, 50, 50)]; 
[[sheetWindow contentView] addSubview:field]; 
[NSApp beginSheet:sheetWindow modalForWindow:[self window] modalDelegate:self didEndSelector:@selector(sheetDidEnd:) contextInfo:NULL]; 

Trường văn bản có được tiêu điểm bàn phím khi tôi chạy ở trên.

Trong tương lai, vui lòng cung cấp mã trong các trường hợp như thế này — việc sửa mã hiện tại dễ dàng hơn rất nhiều so với viết mã mới.

+0

Nicholas, xin lỗi về việc thiếu ví dụ về mã. Tôi có một trường hợp thử nghiệm đơn giản làm việc vì vậy bây giờ tôi chỉ cần tìm ra sự khác biệt giữa trường hợp thử nghiệm làm việc của tôi và mã thực tế của tôi là gì. Cảm ơn bạn đã giúp đỡ! –

+1

Cảm ơn các quý ông. Tôi chỉ chạy vào cùng một vấn đề, và sự khác biệt dường như là loại cửa sổ chính nó. Tôi đã đặt của tôi thành 'NSBorderlessWindowMask' và nó không hoạt động. Khi tôi thay đổi nó thành 'NSTitledWindowMask', mọi thứ hoạt động như một sự quyến rũ! –

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