Tôi có UIStackView
với 5 bản xem trước. Tôi muốn có thể tạo hoạt ảnh cho chiều rộng của các bản xem trước này bằng cách cập nhật intrinsicContentSize
hoặc cập nhật các ràng buộc của chúng. Làm thế nào tôi có thể làm cho stackView vẽ lại sau khi cập nhật bố cục của subview?Làm cách nào để có UIStackView cập nhật bố cục của nó?
UIView.animateWithDuration(0.3, animations: {
viewToResize.compressed = true //changes intrinsicContentSize
viewToResize.invalidateIntrinsicContentSize()
self.stackView.layoutIfNeeded() //makes no difference
anotherSubview.hidden = true //adding this makes everything work
})
Tôi đã thử nhiều cách khác nhau để cố gắng cập nhật stackView nhưng không có gì xảy ra. Cách duy nhất tôi có thể làm cho nó hoạt động là nếu tôi hiển thị/ẩn một subview bên trong khối hoạt hình, sau đó bố trí mới được hoạt hình chính xác, nhưng tôi không muốn làm điều này.
Tôi đã thấy câu hỏi này Animating UIStackView arrangedSubview content size change nhưng câu trả lời được đề xuất không hoạt động (không có hoạt ảnh nào).
bạn đã thử xem.updateConstraints? –
Có, trên stackXem và các bản xem trước, không có bất kỳ ảnh hưởng nào. –