2010-11-23 62 views
18

Có lẽ giờ đã trễ, nhưng tôi không thể tìm thấy nơi tôi có thể đặt thứ tự Tab tổng thể của hộp thoại giao diện người xem của tôi, giống như tôi có thể với Visual Studio.Thứ tự tab trong trình tạo giao diện?

Tôi có thiếu gì đó không? Thứ tự tab là tất cả quanh co. Command-R để mô phỏng cho thấy nó.

+0

Hãy chỉnh sửa câu hỏi của bạn để bao gồm một ảnh chụp màn hình của “trật tự tab” bạn đang đề cập đến, và những gì bạn tìm thấy “quanh co”. –

Trả lời

36

Cụm từ ca cao bạn đang tìm kiếm là "vòng xem khóa". Sử dụng các cửa hàng initialFirstRespondernextKeyView để kết nối các chế độ xem với nhau theo thứ tự bạn muốn duyệt qua chúng. Lưu ý rằng các mục có thể nhận tiêu điểm bàn phím sẽ thay đổi tùy thuộc vào cài đặt Truy cập Bàn phím Đầy đủ (trong Tùy chọn Hệ thống> Bàn phím); nếu bị tắt, tabbing sẽ bỏ qua các mục khác nhau trong vòng xem khóa của bạn.

Điều này được đề cập trong tài liệu here.

+1

Cảm ơn. Có cách nào để đặt thứ tự từ trình tạo Giao diện không? Ý tôi là, nếu bạn chỉ xây dựng một cái gì đó từ đầu nó sẽ có một thứ tự tab nhất định, dựa trên tôi tin vào thứ tự của việc tạo ra kiểm soát. Nếu tôi thêm điều khiển cuối cùng trong "vị trí đầu tiên" trên chính chế độ xem, nó sẽ vẫn là cuối cùng mặc dù có vẻ như nó phải là lần đầu tiên. Tôi đoán câu hỏi của tôi là liệu có một cách để tinh chỉnh thứ tự đó từ trình xây dựng giao diện chính nó, không phải là lập trình nếu có thể. – JasonGenX

+3

Vâng, khi tôi nói "cửa hàng ... kết nối các quan điểm với nhau" Tôi đang nói về những thứ bạn có thể làm từ Trình tạo giao diện. Bạn sử dụng cửa sổ initialFirstResponder của cửa sổ để đặt "vị trí đầu tiên". –

+1

Đối với hậu thế, một ý chính làm nổi bật phản hồi đầu tiên hiện tại và in vòng xem khóa trong bảng điều khiển: https://gist.github.com/mittsh/6668638 –

2

Cho các cửa hàng được đặt tên là a, b và c. Mac thứ tự tab mặc định là a -> b -> c -> a

Nhưng thứ tự tab mong muốn của bạn là a -> c -> b ->a:

enter image description here

Sử dụng IB:

Đặt a như initialFirstResponder.

Sau đó, đặt KeyView tiếp theo tương ứng là a to c, c to b and c to a.

Nhưng tôi thích sử dụng mã, ở đây trở nên dễ dàng hơn để thêm nhiều hơn. Như trong giao diện người dùng phức tạp có thể có hơn 30 điều khiển và bạn có thể yêu cầu phải trộn và thậm chí chèn điều khiển mới !!!

Vì vậy, bạn có thể đạt được như:

[self.a setNextKeyView:self.c]; 
[self.c setNextKeyView:self.b]; 
[self.b setNextKeyView:self.a]; 
+0

Điều này không hoạt động khi một số chế độ xem bị ẩn theo mặc định và hiển thị sau. – Etan

+0

@Etan: đối với những trường hợp như vậy, bạn cần phải cẩn thận bằng cách thiết lập thời gian chạy NextView tiếp theo của nó dựa trên những gì có thể nhìn thấy (trên đầu trang). –

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