我有一个问题,我有一个控制器,在viewdidload中,我尝试加载从xib文件创建的子视图。
我的"定制" subview很好地添加到我的第一个控制器,但tableview没有响应......我的意思是它没有滚动,当我点击它时,没有任何反应...(我还没有实现单击单元格时触发操作的方法,但单击时单元格不会突出显示。
这里是代码:
Map<MatrixXd>
这里是MyViewTest中的代码
class FirstViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let v1 = MyViewTest(frame: CGRectZero)
v1.tableView.dataSource = self
v1.tableView.delegate = self
self.view.addSubview(v1)
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//datasource method returning the what cell contains
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")
//reusing the previous scrolled cells from table view(if any)
//cell.textLabel?.text = array[indexPath.row]
cell.textLabel?.text = "test"
//passing each elements of the array to cell
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//datasource method returning no. of rows
return 14
}
}
在xib文件中,我只有一个带有标签和我的tableview的视图.xib文件与其类(标识符)相关联。
如果你知道为什么我的桌面视图不起作用,那就太棒了!
答案 0 :(得分:0)
问题发生的原因是我使用CGRectZero实例化MyViewTest。如果我使用CGRectMake作为实例宽度和高度,它可以很好地工作。
请参阅上面的rory mckinnel帖子了解更多详情: - )
答案 1 :(得分:0)
您似乎将MyTestView的框架设置为CGRectZero。
然后将表格添加为此视图的子视图,并设置框架大小。由于MyTestView的宽度和高度为0,视图的默认设置是不剪辑子视图,我想你可以看到表但不点击它。
尝试将MyTestView的框架设置为屏幕尺寸?