ios - 防止在键盘出现时对 UICollectionView 进行任何更改

标签 ios swift uicollectionview uitextview

我正在与我的 UICollectionView 斗争将近 2 天,在互联网上找不到太多有用的信息。通常,人们确实希望在弹出键盘时滚动某些内容。
我要的恰恰相反!

情况:常规、普通的 UIView 添加了一个 UICollectionView 作为 subview 。然后,在某个事件中(点击 navigationbar 的按钮),添加一个新的 subview ,其中包含一个 UITextView

无论出于何种原因,位于这个全新 View 下方的 collectionView 认为,当我单击提到的 textView 时,它必须进行一些奇怪的上下滚动,以及关于破坏的约束的大量错误!

我只想让它保持原样,不要改变任何东西!它甚至不可见(因为它上面有一个全新的 View ,对吧)。

编辑:
我的约束如下:

addConstraintsWithFormat(format: "H:|[v0]|", views: collectionView)
addConstraintsWithFormat(format: "H:|[v0]|", views: navBar)
addConstraintsWithFormat(format: "V:|-20-[v0(44)][v1]|", views: navBar, collectionView)

这是创建和添加 subview 的方式:

let view = UIView(frame: CGRect(x: frame.width, y: 0, width: frame.width, height: frame.height))
addSubview(view)
UIView.animate(withDuration: 0.4) {
    view.center.x -= self.frame.width
}

部分控制台输出:

0x10a835a00; frame = (0 0; 375 617); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x1c405f0b0>; layer = <CALayer: 0x1c4220640>; contentOffset: {0, 0}; contentSize: {1500, 617}; adjustedContentInset: {0, 0, 208, 0}>

它添加了 208 的底部内容插图,我不知道为什么..

提前致谢!
戴夫

最佳答案

解决方案是将“最外层” Controller (包括依次控制自己的 collectionView 的 View )从 UICollectionViewController 切换到带有 lazy var collectionView subview 的常规 ViewController,并使其符合所有 UICollectionViewController 属性。
所以这不是我遇到问题的 Collection View 的 Controller ,它与那些单元格没有真正的关系。
在我的书中,这本质上是一个 UICollectionViewController,所以不知道为什么会起作用,但它确实起作用了。
children ,一切都坚持使用 UIViewControllers 和 UIViews :D
Apple 创造的所有花哨的专业东西有时往往会出现问题......

关于ios - 防止在键盘出现时对 UICollectionView 进行任何更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627284/

相关文章:

swift - 在 UICollectionView 中的小单元格上使用左插图进行分页

ios - 无法加载 Collection View

ios - 如何让 iOS VoiceOver 在更改时读取文本元素(不是当前焦点)?

ios - UITableView 上的奇怪线条?

ios - Swift UIActivityViewController Image&Url Share 不适用于 FB

ios - 以编程方式将 NavigationController 添加到基于 TabBar 的应用程序

ios - UIImageView,从远程 URL 加载 UIImage

c# - 错误 文件 'Resources/LaunchScreen.xib' 与 'Resources/LaunchScreen.xib' 冲突。 iOS Xamarin

ios - 录制后临时目录中的 AVPlayer 视频在几秒钟后停止播放

ios - UICollectionView 将 Item 置于中心位置