【发布时间】:2015-05-22 01:34:08
【问题描述】:
我是 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)"
}
}
}
我的 playerScrollView 插座已正确连接到我故事板中的 scrollview。据我从网上所有的教程和资源中可以看出,我应该只需要设置 contentSize 的宽度或高度(大于视图区域)就可以让它滚动,我已经在 awakeFromNib 函数中完成了。
任何想法为什么这在模拟器中不起作用?其次,理想情况下我想在表格单元格中有一个垂直滚动的滚动视图,但我认为表格视图的垂直滚动可能会干扰滚动视图,所以我将它更改为水平滚动进行测试,这也不起作用.
你能在垂直滚动的UITableView中有一个垂直的scrollview,还是表格视图滚动会干扰scrollview?
【问题讨论】:
-
可能发生的情况是您的 UITableView 正在从您的 tableViewCells 中“窃取”触摸事件。不鼓励在 UITableViewCell 中添加 UIScrollView 的方法,因为我们有所谓的响应者链,它确定将处理平移手势的对象。这是意料之中的事情,指导方针建议避免这种情况是一件坏事。
标签: ios iphone uitableview swift uiscrollview