Pārlūkot izejas kodu

fix initialization of MultilineTextFieldCell

cyberta 5 gadi atpakaļ
vecāks
revīzija
6f72b4fff5

+ 1 - 1
deltachat-ios/Controller/EditSettingsController.swift

@@ -27,8 +27,8 @@ class EditSettingsController: UITableViewController, MediaPickerDelegate {
 
     private lazy var statusCell: MultilineTextFieldCell = {
         let cell = MultilineTextFieldCell(description: String.localized("pref_default_status_label"),
+                                          multilineText: DcConfig.selfstatus,
                                           placeholder: String.localized("pref_default_status_label"))
-        cell.setText(text: DcConfig.selfstatus ?? nil)
         return cell
     }()
 

+ 3 - 7
deltachat-ios/View/MultilineTextFieldCell.swift

@@ -26,23 +26,19 @@ class MultilineTextFieldCell: UITableViewCell, UITextViewDelegate {
         placeholderLabel.font = self.textField.font
         placeholderLabel.textColor = UIColor.lightGray
         placeholderLabel.translatesAutoresizingMaskIntoConstraints = false
-        placeholderLabel.isHidden = !textField.text.isEmpty
         return placeholderLabel
     }()
 
-
-    init(description: String, placeholder: String) {
+    init(description: String, multilineText: String?, placeholder: String) {
         super.init(style: .value1, reuseIdentifier: nil)
         self.descriptionField.text = "\(description):"
+        self.textField.text = multilineText
         self.placeholder.text = placeholder
+        self.placeholder.isHidden = !textField.text.isEmpty
         selectionStyle = .none
         setupViews()
     }
 
-    convenience init(descriptionID: String, placeholder: String) {
-        self.init(description: String.localized(descriptionID), placeholder: placeholder)
-    }
-
     required init?(coder _: NSCoder) {
         fatalError("init(coder:) has not been implemented")
     }