我打算儘可能使這一點變得清晰。在我的Xcode項目中,我重複使用了一個原型單元,並且希望每個單元打開一個不同的視圖控制器。你們如何認爲我能做到這一點?表格單元格很大
這裏是我的Main.storyboard可重複使用的電池的PIC:
這裏是被重複使用的電池的結果:
這裏是我的控制器類的代碼:
import UIKit
class NewsTableViewController: UITableViewController {
@IBOutlet var menuButton:UIBarButtonItem!
@IBOutlet var extraButton:UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
tableView.estimatedRowHeight = 242.0
tableView.rowHeight = UITableViewAutomaticDimension
if revealViewController() != nil {
menuButton.target = revealViewController()
menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
revealViewController().rightViewRevealWidth = 150
extraButton.target = revealViewController()
extraButton.action = #selector(SWRevealViewController.rightRevealToggle(_:))
view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
// Return the number of sections
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// Return the number of rows
return 3
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! NewsTableViewCell
// Configure the cell...
if indexPath.row == 0 {
cell.postImageView.image = UIImage(named: "watchkit-intro")
cell.postTitleLabel.text = "WatchKit Introduction: Building a Simple Guess Game"
} else if indexPath.row == 1 {
cell.postImageView.image = UIImage(named: "custom-segue-featured-1024")
cell.postTitleLabel.text = "Building a Chat App in Swift Using Multipeer Connectivity Framework"
} else {
cell.postImageView.image = UIImage(named: "webkit-featured")
cell.postTitleLabel.text = "A Beginner’s Guide to Animated Custom Segues in iOS 8"
}
return cell
}
}
爲了清楚起見,我希望圖片2中的每個單元打開一個不同的視圖控制器。例如,我希望Cell 1打開New View Controller 1,Cell 2打開New View Controller 2,Cell 3打開New View Controller 3。
感謝您的閱讀!
UPDATE
我用下面的代碼你們的一個建議,但現在我有這個:
我做了3個新的類別,因此,如果小區1被竊聽,它會打開單元格1的視圖控制器,如果單元格2被點擊,它將打開單元格2的視圖控制器等。
但顯然,Xcode給了我一個錯誤。 有什麼建議嗎?
這裏是我的Main.storyboard Note that I have entered a class and id for all the new 3 view controllers
感謝您的閱讀,我希望你能給我一個解決方案!
_「表格單元很大」_這是什麼意思? –
我想我有一個問題是爲什麼你想讓每個單元打開一個不同的視圖控制器?是不是像這樣,你有x個不同類型的視圖控制器,一些單元格會觸發一種類型,而其他單元格會觸發其他類型?或者你打算讓tableview中的每個單元格打開一個不同的視圖控制器?這促使我再次問:爲什麼? – WERUreo
@WERUreo是啊!你猜對了。他想打開不同的VC,點擊每個不同的單元格。但我沒有得到,如果他的「UITableView」中有50個單元格,那麼他需要50個VC,這不是一個好習慣。 –