我在我的UIScrollView有一个UIButton,当我放大我的滚动视图时,按钮的位置不是固定的...有什么办法可以修复一个位置吗?如何在UIScrollView上进行UIButton修复?
1
A
回答
0
如果您希望按钮在修改滚动视图时保持固定的大小和位置,最好的方法是根本不在滚动视图中。将按钮添加到滚动视图的父视图中,然后它不会受到滚动视图任何更改的影响,并且可以覆盖其上。
0
您应该将按钮定位在滚动视图之外并将其锚定到页面的底部。这样,滚动视图中的内容将会改变,但您的按钮将保持静态固定在视图上。
0
对于iOS 11,UIScrollView
有一个名为frameLayoutGuide
的实例属性。 frameLayoutGuide
具有以下声明:
var frameLayoutGuide: UILayoutGuide { get }
基于滚动视图的未转化的框架矩形的布局引导。
使用时要创建自动布局的限制,明确涉及滚动视图本身的框架矩形,而不是它的内容矩形此布局指南。
以下雨燕4 UIViewController
实现了如何以居中UIButton
一个UIScrollView
内使用frameLayoutGuide
。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
let button = UIButton(type: .system)
let imageView = UIImageView(image: UIImage(named: "LargeImage"))
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
override func viewDidLoad() {
super.viewDidLoad()
// Add imageView as a scrollable subview of scrollView and set its constraints
scrollView.addSubview(imageView)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor).isActive = true
imageView.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor).isActive = true
imageView.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor).isActive = true
imageView.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor).isActive = true
// Add button as a subview of scrollView and set its constraints (centered)
button.setTitle("Button", for: .normal)
scrollView.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
button.centerXAnchor.constraint(equalTo: scrollView.frameLayoutGuide.centerXAnchor).isActive = true
button.centerYAnchor.constraint(equalTo: scrollView.frameLayoutGuide.centerYAnchor).isActive = true
}
}
0
相关问题
- 1. UIImageView上的UIButton(通过UIScrollView)
- 2. 如何在Cocoa的桌面上进行窗口修复?
- 3. UIScrollView中的UIButton
- 4. 如何设置背景进行修复?
- 5. 的UIButton中的UIScrollView
- 6. UIScrollView后面的UIButton
- 7. UIScrollView与UIButton和UITapGestureRecognizer
- 8. 水平上的UIButton UIScrollView问题
- 9. 如何在进行简单文件处理时修复NoSuchElementException?
- 10. 如何在进行这些修改时复制此字符串
- 11. 如何在git中对master进行紧急修复?
- 12. 如何在UIButton事件中实现放大在UiscrollView中
- 13. UIButton不响应UIScrollview寻呼
- 14. UIscrollview中的自定义UIButton
- 15. 使用Git标签在Heroku上进行热修复
- 16. 如何修复/忽略在github上
- 17. 如何修复UIButton/UILabel等不同方向的某些位置?
- 18. UIButton不会在UIScrollView中互动
- 19. 在UIScrollView中无法触摸UIButton
- 20. UIButton没有在UIScrollView中显示
- 21. 在UIScrollView UIView UIButton加载不正确
- 22. 如何在SNAPSHOT发行版上跟踪修复版本?
- 23. 我该如何修复charlock_holmes gem,以便在opensuse Tumbleweed上运行?
- 24. 复制UIScrollView到UIScrollView
- 25. 使用UIScrollView进行分页
- 26. 如何避免使用Keycache进行修复?
- 27. iOS。如何在UIButton上绘制复杂的图像?
- 28. 修复/改进自动换行功能
- 29. 如何在UIScrollView中进行按钮滚动?
- 30. 如何在UIScrollView中进行垂直分页
这是最简单的方法吗? –
是的,这是迄今为止最简单的方法。否则,当滚动视图滚动以使其显示为静态时,您需要实现'scrollViewDidScroll:'来更改按钮的位置,并且当滚动视图缩放以使其显示时,可以重置按钮的变换保持相同的大小。这是更昂贵的,需要更多的工作来实施。如果在“UIScrollView”层次结构中添加按钮外部,则不需要额外的工作。 – Dima