使用在 UITextField 中输入的值 [重复]

Posted

技术标签:

【中文标题】使用在 UITextField 中输入的值 [重复]【英文标题】:Use value entered in UITextField [duplicate] 【发布时间】:2016-06-26 17:45:29 【问题描述】:

如何通过文本字段从用户那里获取输入值,然后使用它在 Swift 中执行数学函数?

我想从用户那里得到一个值,然后找到那个值的正弦值。 另外,我想接受输入并将其转换为弧度。 请帮忙。

【问题讨论】:

通过获取文本,可选地创建一个 int 或 double 或其他任何内容,然后将 sin 应用于它。问题出在哪里? 其实我是个初学者,你能给我一些示例代码吗? 就像有一个按钮,文本字段和一个标签,所以用户在文本字段中输入一个数字按下按钮,它的罪孽显示在标签上 您的文本字段是使用情节提要添加的吗?它是否已经链接到您的视图控制器(作为出口)?通过向我们展示您已经完成的工作,这将对我们有很大帮助,因此我们可以从那里为您提供帮助。 我有一个用于标签和文本字段的 iboutlet 【参考方案1】:

根据您的评论,您将文本字段作为 IBOutlet。我添加了一个按钮来获取值:

@IBOutlet weak var textField: UITextField!

@IBOutlet weak var label: UILabel!

@IBAction func buttonPress(sender: AnyObject) 
    guard let text = textField.text, value = Double(text) else  return 

    label.text = String(sin(value))

我使用guard 的原因是因为如果文本是nil 或者不是Double,它将只是return,什么都不做(这是我想要的)。这样,您在尝试计算值时就不必担心意外崩溃。

【讨论】:

非常感谢尝试一下 是否以弧度或度数为单位进行评估【参考方案2】:

let sinValue = sin(Double("2")!)

是如何将字符串处理为 sin 值

要从文本字段中获取文本,您需要以下内容:

let sinValue = sin(Double(someTextField.text)!)

但您首先要检查文本字段是否有值并验证它是否为数字以防止崩溃。

【讨论】:

感谢试一试... 现在知道如何在标签上显示它 someLabel.text = "(sinValue)"【参考方案3】:
//Initialize Textfied
var textField = UITextField(frame: CGRect(0, 0, 100, 100)) 
var sinNumber:Double = 0    

//Now in your header (where it says class X:subclass list)
//maybe something like class Viewcontroller:UIViewController, UITextFieldDelegate

如上添加 UITextFieldDelegate 然后你需要添加以下函数来确定用户何时完成编辑他们的 TextField

func textFieldDidEndEditing(textField: UITextField) 
    sinNumber = getSinOfInput(textField.text)


func getSinOfNumber(numbers:String) 

    //If numbers is NOT a string full of numbers (it has characters), it should return nil
    var num = Double(numbers)
    if num != nil 
        //Do login here to find the sin
        num = ....
        return num
    
    else 
        return 0
    
 

【讨论】:

以上是关于使用在 UITextField 中输入的值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

通过循环遍历 UITextField 中的值模式来测试应用程序

UITextField输入文本位置[重复]

在自定义 UITableViewCell UITextField 中输入的值转换为其他字段

iOS中UITextField的验证[重复]

在 UITableView 内时 UITextField 中的文本重复

无法将字符限制为 iOS 中 UITextField 内的字母数字 [重复]