- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要更改 Collection View (UICollectionView
)的frame
和顶部内容插图(contentInset.top
)。顶部插图和框架的更改取决于 super View 的边界和 Collection View 的内容偏移量,因此我将插图更改代码放在 layoutSubviews()
中。
override func layoutSubviews() {
super.layoutSubviews()
collectionView.collectionViewLayout.invalidateLayout()
collectionView.contentInset.top = new_inset_top
collectionView.frame = new_frame
}
但是, Collection View 不考虑新的插入,日志显示以下内容:
The behavior of the UICollectionViewFlowLayout is not defined because: the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values.
如何修复此问题以使 Collection View 正确显示?
我正在使用 IGListKit
最佳答案
您不需要在 layoutSubviews
中执行所有这些操作。
在viewDidLoad
中实现如下
func viewDidLoad() {
super.viewDidLoad()
// let say you want 40px top inset
collectionView.contentInset = UIEdgeInsetsMake(40, 0, 0, 0)
}
另一件事是,我不明白,为什么要在 layoutSubviews
中设置框架。无需设置 frame
即可更改 contentInset
。
关于ios - 使用 IGListKit 在layoutSubviews() 中更改 UICollectionView 的框架和 contentInset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778119/
代码: class ViewController: UIViewController{ var button = CustomButton() override func viewDi
我正在尝试重新定位我的 UIBarButtonItem,使其边缘紧靠 UINavigationBar 的顶部和右侧。我找到了 this accepted answer关于如何做到这一点,但我真的不明白
我刚刚在iOS版的Facebook SDK中看到,他们在layoutSubviews方法的结尾而不是开头调用[Super layoutSubviews];。。据我所知,我们应该始终把它作为第一条线来做
我有一些 Layer1作为子层附加到我的自定义 View 的根层。 然后,当我改变了 Layer1 的变换时,发生了一件有趣的事情。内touchesMoved , layoutSubviews 被调用
我有一个包含 2 个 subview 的 View - collectionView 和自定义 View 。我想设置一个操作在布置 2 个 View 后运行,但layoutSubViews 运行了两次
我有一个 View (LSTabBarView),它支持使用以下方法插入/删除新元素: - (void)insertItem:(LSTabItem *)item atIndex:(NSUInteger
我正在用 Swift 开发一个 iOS 应用程序,我有一个带有自定义 UITableViewCells 的 UITableView,通过覆盖 在单元格的左侧和右侧有间距layoutSubviews()
对于 Xcode 6 和 iOS8,我的应用程序出现了奇怪的问题。问题出在我用 xib 文件制作的自定义 UITableViewCell 中。在 iOS8 模拟器上,layoutSubviews 方法
问题“When does layoutSubviews get called?”中列出了几种情况: 调整了父 View 的大小 设备旋转 还有吗? 如果不需要处理,对于UITableView,我们可以
我希望标签的字体大小与屏幕大小成正比。我已将 UILabel 类子类化以实现此目的: @IBDesignable class MyCustomLabel: UILabel { override
当我的主视图旋转时,我想重新安排 subview ,所以在我的 ViewController 中,我重写了 willAnimateRotationToInterfaceOrientation:(UII
正如标题所说:我创建一个空的 UIView 子类并向其中添加一个 subview ,创建一个空的layoutSubviews 方法并在其中添加一个断点。然后我构建项目,并在layoutSubviews
我正在将我的 iOS 6 应用程序转换到 iOS 7 并且遇到了一些问题。 在 iOS 6 中,将调用不再调用的方法。 我的类继承自 UIAlertView。 例如: - (void)layoutSu
我处于两难境地,使用哪种方法来设置自定义 UIViews 的框架,其中包含许多 subview ,并且仍然有动画并自动调整到旋转。当我创建一个新的 View Controller 时,我通常会在 lo
我有许多自定义 UIView。 我经常发现自己在自定义 View 的初始化中初始化属性,但我也在那里设置了框架。 我通常将 layoutSubviews 留空。如果我不希望我的 View 边界发生变化
我创建了一个自定义 UITableViewCell 类。在该类中,我根据单元格内部的图像调整单元格的高度。 - (void)layoutSubviews { [super layoutSubv
我正在为我的应用程序创建一个设置 View ,该 View 中有一个 UITableView。我正在创建自定义单元格以满足我的需要,但我遇到了问题 - 只有最后一个单元格正在获取 [layoutSub
我在我的 ViewController 中实现了 commitEditingStyle 方法,这样我就可以在适当的单元格上滑动以将其删除。但是当我在 Debug模式下在一个单元格上滑动时,layout
使用 Xcode 4.2/iOS5.0 我有一个 viewController 和一个关联的 viewController.xib。 viewController 被设置为 .xib 文件的所有者。它
我正在尝试为某些 subview 创建自定义布局。我的文件是一个 ViewController,因此我必须将其 View 称为 self.view。 subview 是 self.view 的 sub
我是一名优秀的程序员,十分优秀!