我与UICollectionView
战斗了将近2天,在互联网上找不到太多有用的信息。通常,人们确实希望在弹出键盘时滚动某些内容。
我要完全相反!
情况:常规的普通UIView
,其中添加了UICollectionView
作为子视图。然后,在某些情况下(点击navigationbar
的按钮),将添加一个新的子视图,其中带有UITextView
。
无论出于何种原因,位于整个新视图下的collectionView都认为,当我单击提到的textView时,它必须进行一些奇怪的上下滚动,以及有关破碎的约束的大量错误!
我只希望它保持原样,而不更改任何内容!它甚至是不可见的(因为上面有一个全新的视图,对)。
编辑:
我的约束如下:
addConstraintsWithFormat(format: "H:|[v0]|", views: collectionView)
addConstraintsWithFormat(format: "H:|[v0]|", views: navBar)
addConstraintsWithFormat(format: "V:|-20-[v0(44)][v1]|", views: navBar, collectionView)
这是创建和添加子视图的方式:
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个底部内容,我不知道为什么。
提前谢谢!
戴夫
答案 0 :(得分:-1)
解决方案是将“最外面的”控制器(包括依次控制自己的collectionViews的视图)从UICollectionViewController切换到带有lazy var collectionView
子视图的常规ViewController,并使它符合所有UICollectionViewController属性。
因此,这不是我遇到问题的集合视图的控制器,它与这些单元格并没有真正的联系。
在我的书中,这本质上是一个UICollectionViewController,所以不知道为什么会起作用,但确实起作用。
孩子们,坚持使用UIViewControllers和UIViews进行所有操作:D
苹果公司创建的所有花哨的专业产品有时都容易出错。...