2012-06-30 33 views
5

Đôi khi các ràng buộc autolayout snap đến một điểm neo sai - như khi tôi muốn một điều khiển được neo vào một điều khiển ở trên nó và các ràng buộc autolayout được neo vào dưới cùng của cửa sổ. Có cách nào để di chuyển ràng buộc không? Một nghệ thuật ASCII nên làm cho điều này rõ ràng hơn. Đây là những gì tôi có:Tôi có thể di chuyển các hạn chế tự động trong Trình tạo giao diện không?

+------------------------+ 
|      | 
| [x] Some checkbox  | 
|      | 
| [x] Another checkbox | 
|  |     | 
|  | ← autolayout  | 
|  | constraint  | 
|  |     | 
+-----+------------------+ 

Và đây là những gì tôi muốn thay vì:

+------------------------+ 
|      | 
| [x] Some checkbox  | 
|  | ← A.C.   | 
| [x] Another checkbox | 
|      | 
|      | 
|      | 
|      | 
+------------------------+ 

tôi có thể neo hạn chế đối với các hộp kiểm trên bằng cách di chuyển các hộp kiểm dưới lên trên, nhưng đó không phải là những gì tôi muốn , Tôi muốn không gian dọc lớn hơn. (Các hộp kiểm chỉ dành cho minh họa, trường hợp sử dụng thực của tôi có các quan điểm khác nhau.)

Trả lời

7
  1. Chọn 2 hộp kiểm
  2. Nhấp vào biểu tượng "H" ở bên phải dưới cùng của xây dựng giao diện
  3. Chọn Vertical Spacing

enter image description here


Bây giờ chọn các ràng buộc vô dụng và xóa nó:

enter image description here

+0

+1 Bạn vừa mới cứu tôi khỏi sự điên rồ. Tôi đã đấu tranh với một bố cục từ cuốn sách Learn Cocoa trên máy Mac trong vài giờ qua và tôi cứ tiếp tục làm cho nó tồi tệ hơn. Điều này đúng ở đây là chính xác những gì tôi cần để giải quyết vấn đề của tôi. – MetalMikester

1

Cố gắng di chuyển hộp kiểm thấp hơn để nó có được một ranh giới giữa chính nó và hộp kiểm ở trên. Sau đó nhấp vào thanh chống và nhấp vào hộp thuộc tính trong bảng bên phải. Ở đó, bạn có thể bỏ chọn hộp "chuẩn" và đặt nó vào khoảng cách bạn muốn.

1

Không, bạn không thể di chuyển một ràng buộc hoặc thay đổi nó để liên quan đến một chế độ xem khác. Giống như David Chu nói, bạn có thể di chuyển các khung nhìn cho đến khi nó tự động nhận được loại ràng buộc mà bạn muốn và sau đó thay đổi giá trị của ràng buộc để chuyển chế độ xem trở lại nơi bạn muốn. Tuy nhiên, bạn cũng có thể tự tạo ra ràng buộc mà bạn muốn và sau đó xóa bỏ ràng buộc tự động mà bạn không (đôi khi gặp khó khăn). Dưới đây là cách để trường hợp của bạn:

Chọn 2 hộp kiểm, sau đó sử dụng trình đơn Chỉnh sửa> Ghim> Dọc cách để thêm ràng buộc bạn muốn (hoặc sử dụng giữa 3 nút ở dưới cùng bên phải của chế độ xem bố cục IB có cùng menu). Tại thời điểm đó, ràng buộc tự động không mong muốn sẽ trở nên dư thừa và chuyển từ màu tím sang màu xanh. Sau đó bạn có thể chọn nó và xóa nó. Mỗi loại ràng buộc có thể được tạo bằng cách sử dụng các mục trong các menu Ghim và Căn chỉnh đó.

Tôi nhận thấy rằng việc nhận các ràng buộc bạn muốn là luôn có thể, mặc dù nó là một trận chiến chống lại các ràng buộc tự động mà Xcode bổ sung, và đôi khi một câu đố để tìm ra lý do tại sao chúng không chuyển từ màu tím sang màu xanh. Ví dụ, trực tiếp di chuyển một khung nhìn sau khi thêm một số ràng buộc tùy chỉnh và bạn sẽ thấy rằng Xcode có thể đã xóa hầu hết các ràng buộc mà bạn đã thêm vào và thêm lại những cái tự động, ngay cả đối với các khung nhìn dường như ngẫu nhiên khác trong cửa sổ. đã di chuyển! Chúc may mắn.

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