2016-07-25 3 views
1

Ich habe eine Navigationsleiste mit einem Tabellenansicht-Controller, der 4 Bilder (4 Zellen) anzeigt. Ich habe 4 viewControllers, die ich zeigen muss, wenn der Benutzer auf die Zelle klickt (jedes Bild zeigt eine bestimmte VC) ??Wie man zu anderen viewControllern bewegt, wenn Benutzer auf eine tableView-Zelle tippen

irgendwelche Ideen wäre viel

hier erkannt werden, ist mein Code:

class MenuTable: UITableViewController { 

@IBOutlet weak var imgtable : UITableView! 

var menuImage: [UIImage] = [ 
    UIImage(named: "image1")!, 
    UIImage(named: "image2")!, 
    UIImage(named: "image3")!, 
    UIImage(named: "image4")! 
] 
override func viewDidLoad() { 
    super . viewDidLoad() 

    imgtable.dataSource = self 
    imgtable.delegate = self 

} 

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return menuImage.count 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("menucell") as? Menucell 

    cell!.imageview.image = menuImage[indexPath.row] 

    return cell! 


    } 

} 
+3

zu implementieren haben Sie sogar versucht, es zu Google ? –

+0

geben Sie jeder Schaltfläche ein Tag. Also werden sie die Tags 0, 1, 2, 3 haben. Nun lassen sie alle dieselbe Methode beim Klick auslösen. Beim Klicken prüfen, was das Tag der Schaltfläche ist, wenn es 0 ist, öffnen Sie VC 0. Wissen Sie, wie Sie einen View-Controller initiieren und anzeigen? –

+0

Mit nur vier Möglichkeiten, sollte das Lernen über statische Zellen eine Option sein: https://www.raywenderlich.com/113394/storyboards-tutorial-in-ios-9-part-2 –

Antwort

0

Sie benötigen didSelectRowAtIndexPath Delegatmethode von UITableView wie dieses

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    var viewController: UIViewController = UIViewController() 
    switch (indexPath.row) { 
     case 0: 
      viewController = self.storyboard?.instantiateViewControllerWithIdentifier("viewController1") as! viewController1 
     case 1: 
      viewController = self.storyboard?.instantiateViewControllerWithIdentifier("viewController2") as! viewController2 
     case 2: 
      viewController = self.storyboard?.instantiateViewControllerWithIdentifier("viewController3") as! viewController3 
     case 3: 
      viewController = self.storyboard?.instantiateViewControllerWithIdentifier("viewController4") as! viewController4 
     default: 
      print("default") 
    } 
    self.navigationController?.pushViewController(viewController, animated: true) 
} 
+0

ja mein Freund, immer noch nicht funktioniert !! , Mann, ich habe Problem mit der Auswahl der Zellen die Funktion funktioniert nicht, weil es keine Auswahl gibt –

+0

@Mriyadh Ist Ihre Ansicht Controller auf Haupt Storyboards mit Überleitung platziert? –

+0

@Mriyadh überprüfen Sie, dass die 'Delegate' Ihres Tableview mit Ihrem' viewController' eingestellt ist –

Verwandte Themen