如何将UIButton粘贴到UIScrollView的底部? (Chatto框架)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将UIButton粘贴到UIScrollView的底部? (Chatto框架)相关的知识,希望对你有一定的参考价值。

我想创建这样一个UI,它有两个按钮贴在屏幕的底部,上面有一个UIScrollView。我正在使用Chatto框架,如果有人能给我一个基于https://github.com/badoo/Chatto/tree/master/ChattoApp/ChattoApp的如何做的例子,那将会很棒。

这是我想要的视图的可视化。

What i would like to get

答案

您可以使用约束轻松完成此操作。如果您正在使用故事板,则可以使用“Pin”和“Align”功能设置约束。如果您在代码中构建它,则需要以编程方式设置约束。只需确保添加所有必要的约束即可完全定义视图的显示方式。

只有一个按钮的伪示例:

let button = UIButton()
self.view.addsubview(button)
// pin button to bottom of superview, 
let buttonBottomConstraint = NSLayoutConstraint(item: button, attribute: .Bottom, relatedBy: .Equal, toItem: self.view, attribute: .Bottom, multiplier: 1.0, constant: 0.0)
self.addConstraint(buttonBottomConstraint)
// left of superview, 
// right of superview, 
// and height

let scrollView = UIScrollView()
self.view.addsubview(scrollView)
// and bottom edge to top edge of button
let scrollViewBottomConstraint = NSLayoutConstraint(item: scrollView, attribute: .Bottom, relatedBy: .Equal, toItem: button, attribute: .Top, multiplier: 1.0, constant: 0.0)
self.addConstraint(scrollViewBottomConstraint)
// left of superview, 
// right of superview, 
// pin scrollview to top of superview, 
另一答案

添加全屏滚动视图,然后在底部添加UIView(锚定到屏幕底部)。然后将2个按钮添加到UIView。

如果你想让它半透明,那么让UIView背景颜色为clearColor,然后添加一个字母为0.6的UIView,并将其添加到按钮上方的原始UIView。

另一答案

有一个更好的解决方案。您可以通过禁用相应Button的Auto Layout(button.translatesAutoresizingMaskIntoConstraints = false)属性或任何UIView for floating按钮来执行此操作:

Swift 4的例子

button.translatesAutoresizingMaskIntoConstraints = false
if #available(ios 11.0, *) {
     button.rightAnchor.constraint(equalTo: tableView.safeAreaLayoutGuide.rightAnchor, constant: -10).isActive = true
     button.bottomAnchor.constraint(equalTo: tableView.safeAreaLayoutGuide.bottomAnchor, constant: -10).isActive = true
} else {
     button.rightAnchor.constraint(equalTo: tableView.layoutMarginsGuide.rightAnchor, constant: 0).isActive = true
     button.bottomAnchor.constraint(equalTo: tableView.layoutMarginsGuide.bottomAnchor, constant: -10).isActive = true
}

以上是关于如何将UIButton粘贴到UIScrollView的底部? (Chatto框架)的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将 UIButton 添加到 UITableView 错误点

如何从类属性(特别是 UIButton)访问父类实例?

如何将 UIButton 添加到 Swift Playground?

如何将图像 UIButton 缩放到插图?

如何将点击动作添加到自定义 UIButton?

如何将 UIAccessibility 功能添加到 UIButton 操作?