ios - UIScrollView 在 customView 中不滚动
问题描述
我正在制作一个自定义视图,它包含一个UIScrollView
. 但是这个滚动视图不会滚动。
视图层次结构如下:
- mainView
- UIScrollView
- contentView
这是我的自定义视图代码:
class MyCustomView: UIView {
@IBOutlet var mainView: UIView!
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var scrollViewContetnView: UIView!
// MARK: - Methods
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.customInit()
}
override init(frame: CGRect) {
super.init(frame: frame)
self.customInit()
}
// MARK: Custom
func customInit() {
Bundle.main.loadNibNamed("EmoKeyboard", owner: self, options: nil)
self.addSubview(mainView)
self.mainView.frame = self.bounds
self.mainView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
}
func makeTabItem(count: Int) {
for i in 0...count {
let icon = UIButton()
icon.frame.size = CGSize(width: 28, height: 28)
icon.center.y = self.scrollViewContentView.center.y
icon.frame.origin.x = 10 + (CGFloat(i) * 28) + (CGFloat(i) * 10)
icon.backgroundColor = UIColor.black
self.scrollViewContentView.addSubview(icon)
}
}
}
我究竟做错了什么?
解决方案
添加contentSize
:
scrollView.contentSize = CGSize(width: 0, height: 900) //You can use self view size height to set height means replace 900 according to your requirment
推荐阅读
- utf-8 - 阿拉伯字符转ABCD字符
- c++ - Cpp 目标文件的反汇编:初始化序列中发生了什么?
- azure-pipelines - 在 DevOps Server 2020 中获取 Git 分支以构建 DevOps 服务管道?
- mysql - 如何使用 mysql 数据库将 laravel 8 网络应用程序部署到谷歌云?
- javascript - 为什么即使在使用 css 添加背景图像后我的图像仍然不可见?
- html - CSS 将一个项目覆盖在另一个项目上
- sql - 一对多值表,找不到连接时如何默认为单行
- javascript - 尝试使用 POST 请求发送字符串列表时获取不受支持的媒体类型
- python - 来自 lpot 的“.prepare_dataset.sh”命令出错
- javascript - 带有通用数据库的 Express/mongoose 应用程序,用于登录以管理对其他数据库的访问