TextFieldに入力した内容をTableViewのセルに反映させるメモアプリを作成しています。
画面上に6個のセルを表示させるようにheightForRowAtで設定しました。
シミュレータを実行したところ、6個目までは入力内容がTableView上のセルに反映されるのですが、7個目以降は入力しても何も起こらない状態です。スクロールもできません。
何が原因でしょうか?ご指摘お願いします。
ViewController.swiftのコードは下記の通りです。
ViewController.swift
1 2import UIKit 3 4class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate{ 5 6 7 8 @IBOutlet weak var textField: UITextField! 9 @IBOutlet weak var tableView: UITableView! 10 11 var textArray = [String]() 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 16 tableView.delegate = self 17 tableView.dataSource = self 18 textField.delegate = self 19 } 20 21 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 22 23 return textArray.count 24 25 } 26 27 func numberOfSections(in tableView: UITableView) -> Int { 28 29 return 1 30 31 } 32 33 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 34 35 let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 36 37 cell.textLabel?.text = textArray[indexPath.row] 38 39 40 return cell 41 42 } 43 44 45 46 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 47 return view.frame.size.height/12 48 } 49 50 func textFieldShouldReturn(_ textField: UITextField) -> Bool { 51 52 textArray.append(textField.text!) 53 textField.resignFirstResponder() 54 textField.text = "" 55 tableView.reloadData() 56 57 return true 58 59 60 } 61 62 63} 64
あなたの回答
tips
プレビュー