cuốn sách gpt4 ai đã làm

iOS swift: Các ràng buộc không cập nhật trên màn hình

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 22:06:37 hai mươi bốn 4
mua khóa gpt4 Nike

đêm,

Đã xảy ra sự cố với các hạn chế của ScrollView.

Đây là mã của tôi:

// khi bàn phím được hiển thị, di chuyển một số phần tử lên trên
@objc func keyboardWillShow(notification: NSNotification) {
nếu để keyboardSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {

// Hiển thị chế độ xem cuộn
in(scrollViewBottomConstraint.constant)
self.scrollViewBottomConstraint.constant = keyboardSize.height
in(scrollViewBottomConstraint.constant)
self.view.updateConstraints()
self.view.updateConstraintsIfNeeded()
self.view.needsUpdateConstraints()
self.view.layoutIfNeeded()

// Hiển thị mũi tên tiếp theo có hoạt ảnh
self.nextButtonBottomConstraint.constant = keyboardSize.height + 8
UIView.animate(
withDuration: 1.0,
độ trễ: 0,0,
sử dụngSpringWithDamping: 0,5,
ban đầuVận tốc mùa xuân: 6.0,
tùy chọn: [.allowUserInteraction,
.curveEaseInOut],
hoạt hình: {
self.view.layoutIfNeeded()
}, mức độ hoàn thành: không)
}
}

Bảng điều khiển in 0 và 253, do đó các hằng số ràng buộc được cập nhật. Nhưng trên màn hình tôi không thấy những thay đổi và tôi có nhật ký này:

[Chụp nhanh] Chụp nhanh chế độ xem (0x7fa041471bc0, UIInputSetHostView) chưa được hiển thị ít nhất một lần yêu cầu afterScreenUpdates:YES.

câu trả lời hay nhất

Thật kỳ lạ, chỉ cần view.layoutIfNeeded() sau khi thay đổi các ràng buộc sẽ thực hiện được công việc.

Hãy thử xóa:

self.view.updateConstraints()
self.view.updateConstraintsIfNeeded()
self.view.needsUpdateConstraints()

chỉ một:

 view.layoutIfNeeded()

Hãy thử điều này:

@objc func keyboardWillShow(notification: NSNotification) {
bảo vệ let keyboardSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue else{
trở lại
}

ScrollViewBottomConstraint.constant = keyboardSize.height
nextButtonBottomConstraint.constant = keyboardSize.height + 8
view.layoutIfNeeded()
}

Về iOS Swift: Các ràng buộc không cập nhật trên màn hình, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/47157215/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress