Swift UITableViewCell 中的 ScrollView 不滚动
Swift ScrollView In UITableViewCell not scrolling
我是 swift 的新手,正在尝试将 UIScrollview
添加到自定义 UITableViewCell
。我似乎无法让滚动视图在模拟器中滚动。我已经测试了垂直和水平滚动。
这是我的自定义代码 UITableViewCell
import UIKit
class CustomTableViewCell: UITableViewCell, UIScrollViewDelegate {
@IBOutlet weak var winLoseValueLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var newTotalLabel: UILabel!
@IBOutlet weak var locationLabel: UILabel!
@IBOutlet weak var playersLabel: UILabel!
@IBOutlet weak var playersScrollView: UIScrollView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.playersLabel.text = nil
//self.playersScrollView.contentSize.height = 1000
self.playersScrollView.contentSize.width = 1000
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func addLabelToScrollView(str : String) {
if self.playersLabel.text == nil{
self.playersLabel.text = str
}
else{
self.playersLabel?.text = self.playersLabel.text! + "\n\(str)"
}
}
}
我的 playersScrollView 出口已正确连接到故事板中的 scrollview
。据我从所有在线教程和资源中看到的,我只需要设置 contentSize 宽度或高度(大于视图区域)即可滚动,这是我在 awakeFromNib 函数中完成的。
知道为什么这在模拟器中不起作用吗?其次,理想情况下,我希望在 table 单元格中有一个垂直滚动的滚动视图,但我认为 table 视图的垂直滚动可能会干扰滚动视图,所以我将其更改为水平滚动测试,也没有用。
能否在垂直滚动 UITableView
中使用垂直 scrollview
,或者 table 视图滚动是否会过多地干扰 scrollview
?
好的,事实证明我的 playersLabel(playersScrollView 的子视图)上的约束是罪魁祸首,尽管我不确定为什么。我调整了标签上的约束,允许水平滚动工作。
垂直滚动仍然不起作用,所以我不得不重写滚动视图中的 touchesBegan 和 touchesEnded 方法,这样我才能 disable/re-enable table 视图的滚动。
我是 swift 的新手,正在尝试将 UIScrollview
添加到自定义 UITableViewCell
。我似乎无法让滚动视图在模拟器中滚动。我已经测试了垂直和水平滚动。
这是我的自定义代码 UITableViewCell
import UIKit
class CustomTableViewCell: UITableViewCell, UIScrollViewDelegate {
@IBOutlet weak var winLoseValueLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var newTotalLabel: UILabel!
@IBOutlet weak var locationLabel: UILabel!
@IBOutlet weak var playersLabel: UILabel!
@IBOutlet weak var playersScrollView: UIScrollView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.playersLabel.text = nil
//self.playersScrollView.contentSize.height = 1000
self.playersScrollView.contentSize.width = 1000
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func addLabelToScrollView(str : String) {
if self.playersLabel.text == nil{
self.playersLabel.text = str
}
else{
self.playersLabel?.text = self.playersLabel.text! + "\n\(str)"
}
}
}
我的 playersScrollView 出口已正确连接到故事板中的 scrollview
。据我从所有在线教程和资源中看到的,我只需要设置 contentSize 宽度或高度(大于视图区域)即可滚动,这是我在 awakeFromNib 函数中完成的。
知道为什么这在模拟器中不起作用吗?其次,理想情况下,我希望在 table 单元格中有一个垂直滚动的滚动视图,但我认为 table 视图的垂直滚动可能会干扰滚动视图,所以我将其更改为水平滚动测试,也没有用。
能否在垂直滚动 UITableView
中使用垂直 scrollview
,或者 table 视图滚动是否会过多地干扰 scrollview
?
好的,事实证明我的 playersLabel(playersScrollView 的子视图)上的约束是罪魁祸首,尽管我不确定为什么。我调整了标签上的约束,允许水平滚动工作。
垂直滚动仍然不起作用,所以我不得不重写滚动视图中的 touchesBegan 和 touchesEnded 方法,这样我才能 disable/re-enable table 视图的滚动。