Tôi đã dành hai ngày để thử các giải pháp khác nhau cho các cách tiếp cận Tự động hỗn hợp và thuần túy để đạt được một thiết lập cuộn xem tầm thường trước khi tự động thanh toán, và giờ nó đã chính thức - tôi phải quá ngu ngốc. Tôi đang thiết lập phần lớn trong Storyboard (vâng, nó chỉ là như vậy).
Vì vậy, đây là lời cầu xin của tôi để được giúp đỡ.
Lượt xem:
UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton
Các nút được cho là cuộn theo chiều ngang (trái sang phải và ngược lại). Ai đó có thể vui lòng cho tôi biết cách đặt các ràng buộc để đạt được điều này bằng cách sử dụng Autolayout thuần túy không ???
-
Tôi đã thử cách tiếp cận hỗn hợp, như vậy:
UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton
... và đặt các ràng buộc về chiều rộng và chiều cao cố định cho contentview
và các translatesAutoresizingMaskIntoConstraints
cài đặt theo TechNote của Apple. Các nút và scrollview được thiết lập bằng cách sử dụng các ràng buộc. Điều này nhận được cuộn scrollview (yay) nhưng than ôi, nó cuộn quá xa! Theo như tôi có thể nói, độ rộng cuộn bằng cách nào đó được nhân đôi so với những gì tôi đặt nội dung xem tại ??? !!! ???
Tôi cũng đã thử cách tiếp cận tự động hoàn toàn, cả có contentview
và không. Tất cả các quan điểm là translatesAutoresizingMaskIntoConstraints=NO
, ngoại trừ self.view
. Các nút có các ràng buộc về chiều rộng / chiều cao cố định và được ghim vào tất cả bốn cạnh của cuộn xem. Không có gì cuộn.
Vì vậy, tôi hoàn toàn bối rối tại sao tôi không thể làm cho nó hoạt động chính xác. Bất kỳ trợ giúp được đánh giá cao, và nếu bạn cần bất kỳ thông tin khác, xin vui lòng hỏi!
CẬP NHẬT Ảnh chụp màn hình với giải pháp - ràng buộc buttonZ:
EDIT @ Jamie Forrest Vì vậy, giải pháp hóa ra là ràng buộc sai ở nút cuối cùng. Thay vì 6441, giá trị tôi đã đặt là âm, -6441. Điều khó khăn là, khi đặt giá trị trong bảng phân cảnh, có hai tùy chọn trong thanh công cụ Ghim:
Giá trị Canvas hiện tại là âm (dẫn đến không có cuộn) và tùy chọn bên dưới là dương (kích hoạt cuộn). Điều này có nghĩa là tôi không ngu ngốc nhưng ít nhất là tôi bị mù một nửa. Mặc dù, để bảo vệ tôi, không có gì đáng lo ngại khi XCode không hiển thị lỗi cho cài đặt "không chính xác"?
EDITED LẠI Bây giờ điều này thật buồn cười ... thay đổi giá trị theo dõi từ -6441 (không cuộn) thành cuộn kích hoạt 6441. Nhưng người bạn cũ của tôi "quá nhiều nội dung" đã trở lại, dẫn đến kích thước nội dung lớn gấp đôi so với những gì nó cần phải có! Giải pháp để có được cuộn nội dung chính xác là đặt ràng buộc theo dõi thành ZERO! Điều này không rõ ràng khi làm việc trong Storyboard nhưng nhìn vào mã của @Infinity James, đó là những gì nó phải như vậy.
contentSize
của một UIScrollView
sử dụng bố trí tự động mà thôi. Và đó là contentSize
định nghĩa bạn có thể cuộn bao nhiêu. Vì vậy, cuối cùng bạn sẽ phải thiết lập thủ công ở đâu đó. Đối với phần còn lại, bạn có thể sử dụng các ràng buộc bố cục để thiết lập các khung nhìn tương đối với nhau.