0

这可能是一个简单的问题,但我很难在互联网上找到一个可以解释的答案。从 CSS 中设置元素的“位置:固定”的快速等价物是什么?我试图将 UIView 固定到屏幕顶部,这样即使滚动我仍然可以看到屏幕顶部的视图。感谢任何建议或教程链接,谢谢!

编辑:我可能应该提到我的视图最初是我的 viewController 的子视图,而我的 tableview 也是放置在它下面的 viewController 的子视图。我正在使用 IQKeyboardManagerSwift 可可豆荚,它正在向上移动整个视图,包括我的标题。

4

4 回答 4

1

一个轻松的方法是使用带有标题的 UITableView。默认情况下,表视图标题是粘性的。是文档的链接。

于 2020-05-02T20:52:32.513 回答
0

要将视图固定到某个位置,您可以使用Layout Anchors。尝试:

yourView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true

如果您想了解更多信息:

于 2020-05-02T20:25:53.587 回答
0

听起来你想要一个浮动标题。您不能在 collectionView 或 tableView 上添加视图,因此如果不显示带有直通视图的单独弹出框,您将无法固定视图。必须关闭此弹出框以显示警报或显示其他视图控制器,因此在我看来这不是一个可行的解决方案。

也许这篇文章会对您有所帮助(我怀疑您会想要设置标题的样式): 如何使补充视图在 UICollectionView 中浮动,就像在 UITableView 普通样式中的部分标题一样

于 2020-05-02T21:06:35.190 回答
0

自动布局不需要框架,您可以在 viewDidLoad 中执行此操作:首先禁用 yourView 上的默认约束:

yourView.translatesAutoresizingMaskIntoConstraints = false

在控制器视图中显示 yourView 后:

view.addSubview(yourView)

现在在控制器视图的顶部安全区域设置自动布局位置,宽度是视图宽度,高度是 100,就像评论中的框架示例一样:

yourView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
yourView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
yourView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
yourView.heightAnchor.constraint(equalToConstant: 100).isActive = true

这是将 yourView 置于顶部的自动布局方法... 将其适应您的项目,将“yourView”替换为您想要置于顶部的视图的名称。如需更准确的信息,请下次在应用程序中输入代码...祝您有美好的一天:)

于 2020-05-03T06:38:29.070 回答