2010-10-22 8 views
20

Tôi có hai viewControllers, một là lớp con của UIViewController (tự động lấy chính xác), cái kia là lớp con của lớp con của UIViewController.
Tôi đã tạo bố cục trong Trình tạo giao diện, tôi đã kiểm tra mã của mình trong Trình mô phỏng và mọi thứ hoạt động như mong đợi. Nhưng nếu tôi xoay thiết bị, chế độ xem của tôi không thay đổi kích thước.
Vì vậy, tôi đã quay lại Trình xây dựng giao diện và phát hiện ra rằng tôi không thể thay đổi thuộc tính Thay đổi kích thước của "gốc" -UIView. Vì vậy, tôi đã mở một tệp khác và thuộc tính thay đổi kích thước cũng được cố định ở đó. Nhưng nó được thiết lập để thay đổi kích thước theo cả hai hướng. Đây là hành vi tôi muốn.Cài đặt vấn đề tự động trong trình tạo giao diện

Làm cách nào tôi có thể thay đổi tự động của UIView hàng đầu để nó thực hiện những gì tôi muốn?
Không có quá nhiều bài đánh giá mà không thể bắt đầu lại từ đầu, nhưng tôi không muốn làm điều này.

Interface Builder, Autoresizing Mask

Trả lời

24

Tôi chạy vào trong này trước và nó là vô cùng bực bội. Nó chỉ ra rằng khi bạn có Simulated User Interface Elements được bật thì bạn không thể thay đổi thanh chống và lò xo như bạn muốn.

Chuyển đến tab Thuộc tính (Cmd-1) và đảm bảo rằng Thanh trạng thái, Thanh trên cùng, Thanh dưới cùng và Chế độ xem phân tách đều được đặt thành "Không xác định". Sau đó quay trở lại tab Size (Cmd-3) và bạn sẽ có thể nhấp vào các dòng và thay đổi Struts và Springs của bạn. Sau đó, cuối cùng bạn có thể quay trở lại Cmd-1 và biến những yếu tố mô phỏng trở lại.

+0

Bạn nhận được một ngôi sao vàng cho việc này. CẢM ƠN BẠN! – sean808080

+0

'cmd + 1' mở' Project navigator' !!!!!!!!!!!!!!!!! –

+0

@lulian, Đó là vì Xcode đã thay đổi các phím tắt. Trở lại năm 2011, điều này là chính xác. –

13

Tôi có một câu trả lời đơn giản:

  1. Chuyển đến IB
  2. Bấm vào 'ViewController'
  3. Chuyển đến 'Attributes Inspector'
  4. Change 'Kích' thành 'Freeform' (một cái gì đó khác hơn

    : 'Suy luận')

Những gì bạn có điều này là

enter image description here

Thay đổi 'size' thành 'freeform' & thử ngay bây giờ!

enter image description here

Bây giờ, nó hoạt động! Quay lại & thay đổi nó thành 'Được suy ra' sau khi bạn đã đặt mặt nạ Tự động hóa.

+0

Tuyệt vời, cảm ơn. – Robert

0

mở Main.storyboard như nguồn (đừng quên, nó chỉ là một tập tin XML) và thay thế "autoresizingMask" tag trong View với dòng sau:

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>