我有一個使用xib
文件構建的自定義視圖。在這個自定義視圖中,有一個UIView
,我想在其中添加一個靜態的UITableView
作爲子視圖。此處顯示的UITableView
出現在storyboard
中,並與UITableViewController
相關聯。我做了以下內容:如何將UITableView作爲子視圖添加到xib中的UIView?
let vc = (UIStoryboard(name: "Main", bundle: nil))
.instantiateViewControllerWithIdentifier("tableController") as! TableController
vc.loadViewIfNeeded()
table = vc.table // this is an outlet, I'm sure it is not nil
table.delegate = vc
table.dataSource = vc
table.backgroundColor = UIColor.greenColor()
containerView.addSubview(table)
我可以看到我的自定義視圖中的綠色背景,但不被顯示
表格單元格我知道插座表不爲零,因爲如果在調試時我使用控制檯下方的Quick Look
圖標檢查table
變量,我可以看到表格。
UPDATE
我意識到自己的做法是不是一個好一個。
我實現我希望通過我做的查看和UITableViewDataSource
一個UITableViewDelegate
子視圖和編程方式創建一個UITable
和所需TableViewCell
結果。瘋狂的代碼量!
有關的細節跳舞,看到我的答案在這裏:http://stackoverflow.com/a/8746580/341994這是在2012年,但規則並沒有改變,按照他們 - 在這裏它是在現代Swift:https: //github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch06p316containerController/ch19p631containerController/ViewController.swift – matt
有沒有其他辦法可以訪問那個UITableView?我在xib文件中找不到容器視圖所以我不得不訴諸這個馬dness。正如你所看到的,我非常渴望完成這件事。 – JadeSync
我不知道你的意思是「任何其他方式」。我所建議的很容易。我向你展示了代碼。爲什麼不這樣做呢?您只需添加幾行代碼即可。 – matt