2013-07-29 24 views
11

Tôi đang tạo ứng dụng iOS bằng bảng câu chuyện và bố cục tự động sao cho nó hoạt động tốt trên cả iPhone4 và iPhone5. Dưới đây là ảnh chụp màn hình của chế độ xem mà tôi đang tạo bằng bảng câu chuyện.
iOS - Sử dụng bảng phân cảnh và autolayout để căn giữa UIScrollView

enter image description here

Trong hình ảnh trên, tôi muốn giữ quan điểm cuộn ở giữa từ mép hàng đầu của SuperView và xem bảng bên phải. Tôi không muốn xem cuộn để tăng chiều rộng của nó trong iPhone5. Tôi đã cố gắng kết hợp các ràng buộc khác nhau, nhưng tôi không thể đạt được nó.

Một số người có thể đề xuất cho tôi tất cả các ràng buộc mà tôi đã đặt cho chế độ xem cuộn sao cho nó sẽ ở chính giữa.

Trả lời

6

Bạn sẽ cần thực hiện việc này bằng cách thêm chế độ xem bổ sung vào màn hình.

Tại thời điểm bạn có ...

- UIView (main view) 
    | 
    | - scrollView 
    | - tableView 

Bạn nên đặt xem di chuyển bên trong một cái nhìn như thế này ...

- UIView (main view) 
    | 
    | - UIView (spacer View) 
    | | - scrollView 
    | 
    | - tableView 

Bây giờ những gì bạn có thể làm là có những khó khăn này. ..

spacer view leading edge constraint to super view = 0 
spacer view trailing edge to table view leading edge = 0 
table view width = (whatever the width is) 
table view trailing edge to super view = 0 

Điều này sẽ bố trí chế độ xem spacer và chế độ xem bảng sao cho chế độ xem bộ đệm tăng lên.

Bây giờ bạn cần phải thêm ...

scroll view width = x 
scroll view height = y 
scroll view centered vertically in super view 
scroll view centered horizontally in super view. 

Bây giờ, vì cái nhìn siêu xem di chuyển là quan điểm spacer sau đó nó sẽ luôn luôn được tập trung ở giữa xem bảng và phần còn lại của vũ trụ.

35

Làm thế nào để Center A Xem trên Storyboard

Câu trả lời này đã được cập nhật cho Xcode 8.

Câu trả lời này dành cho những người chỉ làm một tìm kiếm chung cho làm thế nào để tập trung việc sử dụng một bảng phân cảnh và không hiểu các ràng buộc.

Tôi cho rằng bạn đang sử dụng Bảng phân cảnh (không phải tệp XIB) và Bố cục tự động. Đây là mặc định hiện nay vì vậy nếu bạn không biết điều đó có nghĩa là gì thì đừng lo lắng về nó. Nếu bạn muốn kiểm tra, bạn có thể nhấn Main.storyboard trong Project Navigator và sau đó là thanh tra File. Bạn có thể chắc chắn rằng sử dụng Auto Layout được kiểm tra:

enter image description here

Chọn nút của bạn (hoặc bất kỳ xem bạn muốn tập trung) trên kịch bản này. Sau đó nhấp vào nút căn chỉnh ở dưới cùng bên phải. Chọn "Theo chiều ngang trong vùng chứa" và "Theo chiều dọc trong vùng chứa". Nhấp vào "Thêm 2 ràng buộc".

enter image description here

Nếu không hoàn toàn tập trung, bạn có thể cần thực hiện thêm một điều nữa. Nhấp vào nút "Cập nhật Khung hình" ở bên trái nút căn chỉnh. Giờ đây, chế độ xem của bạn sẽ được căn giữa trên bảng phân cảnh.

enter image description here

Và quan trọng hơn, bây giờ khi bạn chạy ứng dụng của bạn cần được tập trung không có vấn đề gì kích thước thiết bị bạn đang sử dụng.

Tôi đã học được điều này từ Creating the user interface – Auto layout. Ý tưởng cơ bản vẫn như cũ, nhưng sắp xếp giao diện người dùng đã thay đổi một chút trong Xcode ngay bây giờ.

cũng

+0

Xem Đây là câu trả lời cho câu hỏi của tôi irrelavant. Chế độ xem cuộn mà tôi đã đề cập không được ở giữa ngang và dọc. Cha mẹ của nó là chế độ xem của trình điều khiển chế độ xem. – Satyam

+13

Tôi nhận thấy rằng điều này không trả lời câu hỏi của bạn. Bạn đã đúng để chấp nhận câu trả lời của @ Fogmeister, không phải của tôi. Tuy nhiên, vì danh hiệu của bạn, nhiều người đến đây mong muốn học cách tập trung vào thứ gì đó trên bảng phân cảnh. Đó là những người tôi đang cố giúp đỡ. – Suragch