スタティックセルを持つ学習目的のアプリケーションを作成していますが、ゼロから開始したいビューの上部にプログレスバーがあります。すべてのフィールドが入力されると、進行状況バーが完了し、saveというボタンが表示されます。私はこの方法がうまくいくと思った。スウィフト4にテキストフィールドが入力されたときのプログレスバーの割合
import UIKit
class TableViewController: UITableViewController {
@IBOutlet var infoProgressBar: UIProgressView!
//all labels for adjusting same space
@IBOutlet var labels: [UILabel]!
//textfields for progress
@IBOutlet var infoTextFields: [UITextField]! {
didSet{
infoProgressBar.setProgress(progress, animated: true)
}
}
//progress bar code
var progress:Float {
if textFieldProgress(count: true) {
return Float(infoTextFields)/Float(infoTextFields)
} else {
return 0
}
}
//function to check if there is info in textfields
func textFieldProgress(count: Bool) -> Bool {
if infoTextFields?.isEmpty ?? true {
return true
} else {
return false
}
}
}
私はすべてのテキストフィールドをinfoTextFieldsにリンクしています。ブール関数がfalseに戻ると、すぐにプログレスバーが終了します。私がそれをfalseに設定すると、それは半分から0になり、決して戻ってこない。
ここに私の見解は、これはあなたが探しているものですが、あなたはテキストフィールドごとにUITextFieldDelegateメソッドtextFieldDidEndEditingを使用して、あなたの幅を増やすことができれば必ず
で動作すると信じています。私は –
@BlueMooseで何回記入しても、プログレスバーを0に保ちました。私の編集をチェックします。また、同じアプローチを使用して、テキストが変更されたときにパスワードフィールドと一致するかどうかを確認したり、必要な場合があるかどうかを確認することもできます。 –
ありがとうございました!私のやり方が、空白であるかどうかを見つけるためにbool funcを作っていたのではないかと思っています。あなたがちょうど私がまだ –