2017-10-09 3 views
-1

Ich möchte Tabellenansicht Zelle mit Minimierung und Exapnnd erstellen. aber ich habe einen Fehler bekommen. Ich möchte etwas Hilfe! unten ist mein Code hoffe, dass Sie nichts dagegen haben, ich bin neu zu swift2Tabellenansicht Zelle Kollaps und Expandieren Wert in Swift

Ich benutze swift2.

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 
    @IBOutlet weak var tableview: UITableView! 

Wollen sectionArr als Kopf

let sectionArr = ["animal", "bird"] //section 
    let animalArr = ["dog", "cat"] 
    let birdArr = ["crow", "cock"] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return sectionArr.count 
} 

// Header-Abschnitt

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
    let headerView = UIView() 
    headerView.frame = CGRectMake(0, 0, tableView.frame.size.width, 80) 
    // headerView.backgroundColor = [UIColor, clearColor]; 
    let lblTitle = UILabel() 
    lblTitle.frame = CGRectMake(0, 0, tableView.frame.size.width, 40) 
    lblTitle.text = sectionArr[section] 
    headerView.addSubview(lblTitle) 
    return headerView 
    } 


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     if section == 0 { 
      return animalArr.count 
     } else {      
      return birdArr.count 
     } 
    } 

// Anzeige vi nehmen ew Zelle

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell1:UITableViewCell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "cell") 

    //cell1.textLabel!.text=sectionArr[indexPath.row] 
    cell1.textLabel!.text=animalArr[indexPath.row] 
    cell1.textLabel!.text=birdArr[indexPath.row] 

    return cell1 
} 

speichern ausgewählt indexPath Reihe

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){ 
    let Toy = sectionArr[indexPath.row] 
    print(Toy) 
    } 
} 
+0

Setzen Sie die Fehler und wenn sie vielleicht erscheinen. Wenn Sie neu zu schnell sind, sollten Sie schnell 4 gehen, dann ist es besser, auf dem neuesten Stand zu sein –

Antwort

0

ich meine Antwort bekam! Hier habe ich meinen Code von Collaps und exapnd Zelle in tableview.Hope seine Hilfe teilen!

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 

    let sectionArr = ["Animal", "Bird"] 
    let animalArr = ["dog", "cat"] 
    let birdArr = ["crow", "cock"] 
    var isBool = false 
    var sec = 0 

    @IBOutlet weak var tableview: UITableView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     tableview.reloadData() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
     return sectionArr.count 
    } 

    func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
     let headerView = UIView() 
     headerView.frame = CGRectMake(0, 0, tableview.frame.size.width, 80) 
     //create lable dynamically 
     let lblTitle = UILabel() 
     lblTitle.frame = CGRectMake(0, 0, tableview.frame.size.width, 40) 
     lblTitle.text = sectionArr[section] 
     headerView.addSubview(lblTitle) 

     //create button dynamically 
     let btn: UIButton = UIButton(frame: CGRectMake(0, 0, tableview.frame.size.width, 40)) 
     btn.setTitle(sectionArr[section], forState: UIControlState.Normal) 
     btn.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside) 
     btn.tag = section    // change tag property 
     headerView.addSubview(btn) 
     return headerView 
    } 

    func buttonAction(sender: UIButton!) 
    { 
     if isBool == false { 
      sec = sender.tag 
      isBool = true 
      tableview.reloadData() 
     } else { 
      sec = 0 
      isBool = false 
      tableview.reloadData() 
     } 
    } 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     if section == 0 { 
      if isBool && sec == 0 { 
       return animalArr.count 
      } else { 
       return 0 
      } 
     } else{ 
      if isBool && sec == 1 { 
       return birdArr.count 
      } else { 
       return 0 
      } 

     } 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell1:UITableViewCell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "cell") 

     if(indexPath.section == 0) 
     { 
      cell1.textLabel!.text=animalArr[indexPath.row] 
     } 
     else 
     { 
      cell1.textLabel!.text=birdArr[indexPath.row] 
     } 
     return cell1 
    } 
} 
Verwandte Themen