【问题标题】:how to block user from changing text field如何阻止用户更改文本字段
【发布时间】:2015-07-03 20:53:46
【问题描述】:

我有两个不希望用户更改的文本字段。有没有办法在 Xcode 6 中做到这一点?我已经在文本字段中输入了文本,但是当我模拟应用程序时,用户仍然可以修改它。

【问题讨论】:

标签: ios xcode6 uitextfield


【解决方案1】:

为委托方法返回“NO”:

`- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField`.

或禁用 textField,这可能会改变外观。

textField.enabled = NO

或使用UILabel

【讨论】:

    【解决方案2】:

    在 UIView 上创建类别。

    在该类别中添加以下方法。

    -(void)disable {
        self.alpha = 0.5;
        self.userInteractionEnabled = FALSE;
    }
    
    -(void)enable {
        self.alpha = 1.0;
        self.userInteractionEnabled = TRUE;
    }
    

    然后打电话

    yourTextField.disable();
    

    实际上,您可以在任何您想要的视图上使用它。

    【讨论】:

      【解决方案3】:

      上述方法返回 NO

         optional func textField(_ textField: UITextField,
          shouldChangeCharactersInRange range: NSRange,
                      replacementString string: String) -> Bool
      

      或者设置 textfield disable 和 userInteractionDisable

      textfield.userInteractionEnabled = false
      textfield.enabled = false
      

      【讨论】:

        猜你喜欢
        • 2021-07-04
        • 1970-01-01
        • 2019-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-11
        • 2016-10-15
        相关资源
        最近更新 更多