###やりたいこと
テーブルビューにおいて、下記スクリーンショットの右端のチェック印ボタンを押す度に
空白
理解した
もう一度
あとで
空白
理解した
もう一度
あとで
と何回でも順番に表示したい。
###問題点
下記のコードで表示はできましたが問題があります。
3回押すと「あとで」になりますが4回目を押すと反応しません。(その部分のコードがわからないので書いていません。)
// CustomCell.swift // import UIKit class CustomCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() } @IBOutlet weak var image1: UIImageView! @IBOutlet weak var label1: UILabel! @IBOutlet weak var label2: UILabel! @IBOutlet weak var LabelA: UILabel! @IBOutlet weak var Button: UIButton! var tapCount:UInt32 = 0 var LavelA:String? = nil @IBAction func ButtonAction(_ sender: Any) { if tapCount == 0{ LabelA.text = "理解した" } else if tapCount == 1 { LabelA.text = "もう一度" } else if tapCount == 2 { LabelA.text = "あとで" } print("ここまで来た01") // タップ回数を加算 self.tapCount += 1 } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) } }
###上記コードに関する注釈
111
image1、lavel1、lavel2 の表示については別のファイルでコードを書いています。
222
LabelAとButtonについてはCustomCell.xibで設定しています。Button表示についてはcheckImage.pinを使っています。
333
最初は下記のコードのごとく空白をコードに書き込んだのですが、そうすると最初にボタンを2度タップしないと「理解した」が表示されない不具合がでましたので上記どおり修正しました。
if tapCount == 0{ LabelA.text = "" }else if tapCount == 1{ LabelA.text = "理解した" } else if tapCount == 2 { LabelA.text = "もう一度" } else if tapCount == 3 { LabelA.text = "あとで" }
444
開発環境
macOS Sierra Ver.10.12.4
Xcode Version 8.3.2 (8E2002)
Swift3
555
image1、lavel1、lavel2に関するCustomCell.swift及びCustomCell.xibについてはteratailの「テーブルビュー2段プロジェクト⇒1〜10」により教えて頂いたコードです。LabelAとButtonについては本やGoogleの情報をもとに考えたものです。
666
お陰様で「スマホの勉強 巻3 トミ爺が語る使い方for iPhone」については1月に無償版、有償版ともにiTunes Connectより許可を貰いリリースしました。全く同じコードでコンテンツを変えてリリース済みの巻1入門編を申請しましたところ無償版は許可になりましたが有償版は単純過ぎるのでiBooksで出すようにと言われました。交渉してもらちがあきませんので、上記のボタンを設置して再申請をすることを意図しています。
巻1Ver.2.0.1
###教えて頂きたいこと
随分と調べたのですがわかりませんので上記問題点を解決するコードを教えて頂けたら幸いです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/09 05:50
2017/05/09 06:07
2017/05/10 07:12 編集
2017/05/09 18:48
2017/05/10 06:57
2017/05/10 07:13 編集
2017/05/10 07:19
2017/05/10 07:23
2017/05/10 07:25
2017/05/10 07:44
2017/05/10 08:02
2017/05/10 08:17
2017/05/10 09:53