gpt4 book ai didi

swift - 带有 UICollectionView 的 UIToolBar

转载 作者:行者123 更新时间:2023-11-28 15:22:57 24 4
gpt4 key购买 nike

我有一个 UIToolbar View ,其中有一个 UICollectionView。

工具栏是一个带有 Collection View 的 TextView ,其中 Collection View 充满了用户提及。因此,如果我在 TextView 中键入“@m”,它将显示以字母“m”开头的用户名。

它以前不在工具栏中,但我们意识到它并没有通过键盘的交互式关闭正确关闭并将其添加到工具栏修复了这个问题。 (在交互式关闭期间它会悬停在屏幕中间并且不会消失)

但是现在所有用户交互都不再适用于它(尽管它在 IB 中启用)

这是工具栏的设置:

override var canBecomeFirstResponder: Bool{
return true
}

override var inputAccessoryView: UIView?{
return self.typingView
}

//viewDidLoad里面:

    let separator = UIView(frame: CGRect(x:0 , y: 0, width: ScreenSize.width(), height: 1))
separator.backgroundColor = UIColor.lightBackgroundGrey
self.typingView.addSubview(separator)
self.typingView.isTranslucent = false
self.typingView.setShadowImage(UIImage(), forToolbarPosition: .any)
self.typingView.setBackgroundImage(UIImage(), forToolbarPosition: .any, barMetrics: .default)
self.typingView.removeFromSuperview()
self.setupMentionableCollectionView() //Sets delegate and data source only

最佳答案

由于您在 IB 中创建了工具栏,因此您可能对工具栏和/或 collectionView 有高度限制,因此您应该在 collectionView 的 contentSize 发生变化时更新它们。

我认为这是怎么回事,collectionView 的框架(它是工具栏的 subview )比工具栏的框架大,所以这就是为什么你不能点击它。

只需执行 self.collectionViewHeightConstraint.constant = whateverself.typingViewHeightConstraint.constant = whatever + defaultHeight 即可解决您的问题。

关于swift - 带有 UICollectionView 的 UIToolBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681992/

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