【问题标题】:Add Placeholder to UITextField, how to set the placeholder text programmatically in swift?将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?
【发布时间】:2016-08-27 23:32:03
【问题描述】:

我正在从数据库中提取一个电话号码,当用户开始在文本字段中编辑以更改该电话号码时,我想使用我目前在数据库中拥有的号码作为占位符。由于此信息随每个用户而变化,我如何在 swift 中以编程方式对其进行设置?

【问题讨论】:

    标签: swift uitextfield placeholder


    【解决方案1】:

    您需要先从数据库中获取电话号码(将它们转换为字符串),然后将textFieldplaceholder 设置为该字符串,如下所示

     textField.placeholder = phoneNumberString
    

    【讨论】:

      【解决方案2】:

      斯威夫特 3

      如果你的textField有文本,你需要先设置text属性为nil,然后设置占位符文本:

      textField.text = nil
      textField.placeholder = "My Placeholder Text"
      

      【讨论】:

        【解决方案3】:

        对于阅读本文的其他人来说,重要的是要注意,在 main.storyboard 中设置占位符文本似乎会使此解决方案无效,因此在实施此之前,我必须先清除情节提要中的占位符。一旦完成@Khuong 和@Himanshu 的回答就完美了。

        【讨论】:

          【解决方案4】:

          将这行代码应用到 View Did Load

          new_Password.attributedPlaceholder =
                      NSAttributedString(string: " New Password", attributes: [NSForegroundColorAttributeName : UIColor.white]) // new_Password : our text feild name
          

          【讨论】:

          • 这对我有用,很奇怪,将 placeHolder 设置为空字符串fieled?.attributedPlaceholder = NSAttributedString()
          【解决方案5】:

          从您的数据库(核心数据)中获取您想要的数据,并将其转换为字符串格式后...比如 phoneString

          使用此行将此字符串设置为占位符文本

          phoneTextField.placeholder = phoneString
          

          【讨论】:

            【解决方案6】:

            Objective-C 代码:

            [usernameText setPlaceholder:@"My Placeholder Text"];
            

            【讨论】:

              【解决方案7】:

              请注意,如果您以编程方式更改了文本字段的文本和背景颜色,则无法使用占位符文本的颜色进行更改,而必须设置一个属性占位符。如果您的设备处于“暗模式”并尝试手动制作非暗模式屏幕,则会出现问题 - 您可能看不到占位符!

              【讨论】:

                猜你喜欢
                • 2016-02-23
                • 2019-02-15
                • 2011-11-11
                • 2011-03-06
                • 2017-09-16
                • 2011-04-09
                • 2018-05-19
                • 2015-11-13
                • 2013-09-12
                相关资源
                最近更新 更多