gpt4 book ai didi

ios - Swift 3 - NSLayoutConstraint CollectionView 附加到另一个 View

转载 作者:可可西里 更新时间:2023-11-01 00:57:33 26 4
gpt4 key购买 nike

我正在使用此代码 Swift 3 - CollectionView data source did not return a valid cell从 TERENCE 答案更新:在 viewDidLoad 我放了

collectionView?.translatesAutoresizingMaskIntoConstraints = false
messageInputContainerView.translatesAutoresizingMaskIntoConstraints = false
view.addConstraintsWithFormat(format: "H:|-0-[v0]-0-|", views: messageInputContainerView)
view.addConstraintsWithFormat(format: "H:|-0-[v0]-0-|", views: collectionView!)
let constraints = NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[v1]-0-[v0(48)]", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":messageInputContainerView, "v1": collectionView!])
constraints[2].identifier = "heightConstraint"
view.addConstraints(constraints)
bottomConstraint = NSLayoutConstraint(item: messageInputContainerView, attribute: .bottom, relatedBy: .equal, toItem: view, attribute: .bottom, multiplier: 1, constant: 0)
view.addConstraint(bottomConstraint!)

使用 bottomconstraint,我将 messageInputContainerView 修改为在键盘出现时上升

messageInputContainerView.addConstraintsWithFormat(format: "H:|-8-[v0(30)]-8-[v1][v2(60)]|", views: sendPicButton, inputTextView, sendTextButton)

messageInputContainerView.addConstraintsWithFormat(format: "V:|-6-[v0]|", views: inputTextView)
messageInputContainerView.addConstraintsWithFormat(format: "V:[v0]-6-|", views: sendTextButton)
messageInputContainerView.addConstraintsWithFormat(format: "V:[v0]-14-|", views: sendPicButton)
messageInputContainerView.addConstraintsWithFormat(format: "H:|[v0]|", views: topBorderView)
messageInputContainerView.addConstraintsWithFormat(format: "V:|[v0(0.5)]", views: topBorderView)

screen 1

在第一个屏幕上,最后一条消息和 messageInputContainerView 之间有空格。如何解决?

screen 2

副屏messageInputContainerView已经在collection view之上

我正在修改 textViewDidChange 方法中的 constraints[2].identifier = "heightConstraint" 以在出现键盘时更改 messageInputContainerView 的位置

如何修复它以使其被附加,因为现在它在 messages(collectionView) 之上?

最佳答案

也许你可以试试这个:容器添加这些 "V:|-0-[collectionView]-0-[inputview(>=48)]-0-|""H:|-0-[collectionView]-0-|""H:|-0-[inputview]-0-|"除非您的容器也需要,否则容器不需要将自动调整大小掩码设置为 false。但是 Collection View 和输入 View 都需要将其设置为 false 才能使自动约束起作用。

关于ios - Swift 3 - NSLayoutConstraint CollectionView 附加到另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42163834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com