如何使用发送按钮将文本发送到 swift iOS 上的文本字段
how to send a text with a send button to text field on swift iOS
我真新。如果可能的话,我想做的就是将密码字段中的文本作为安全文本发送到文本字段。有点像发送文本但带有安全文本。安全按钮只是让您看到里面的东西。我让它工作,但我不知道如何将信息从一个地方传输到另一个地方。创建函数?对不起,我是个菜鸟。
import UIKit
class ViewController: UIViewController {
private let scrollView: UIScrollView = {
let scrollView = UIScrollView()
scrollView.clipsToBounds = true
return scrollView
}()
private let secureButton : UIButton = {
let button = UIButton()
button.setTitle("Secure", for: .normal)
button.backgroundColor = .link
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = 12
button.titleLabel?.font = .systemFont(ofSize: 20, weight: .bold)
button.layer.masksToBounds = true
button.addTarget( self, action: #selector(securebuttonTapped), for: .touchUpInside)
return button
}()
let sendButton : UIButton = {
let button = UIButton()
button.setTitle("Send", for: .normal)
button.backgroundColor = .green
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = 12
button.titleLabel?.font = .systemFont(ofSize: 20, weight: .bold)
button.layer.masksToBounds = true
button.addTarget( self, action: #selector(sendButtonTapped), for: .touchUpInside)
return button
}()
let textView = UITextView()
private let passwordField: UITextField = {
let field = UITextField()
field.autocapitalizationType = .none
field.autocorrectionType = .no
field.returnKeyType = .done
field.layer.cornerRadius = 12
field.layer.borderWidth = 1
field.layer.borderColor = UIColor.lightGray.cgColor
field.placeholder = "Password"
field.leftView = UIView(frame: CGRect(x: 0, y: 0, width: 5, height: 0))
field.leftViewMode = .always
field.backgroundColor = .white
field.isSecureTextEntry = true
return field
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
view.backgroundColor = .gray
view.addSubview(scrollView)
scrollView.addSubview(passwordField)
scrollView.addSubview(secureButton)
scrollView.addSubview(textView)
scrollView.addSubview(sendButton)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.frame = view.bounds
passwordField.frame = CGRect(x: 30,
y: 100,
width: scrollView.width-60,
height: 52)
secureButton.frame = CGRect(x: 30,
y: passwordField.bottom+10 ,
width: scrollView.width-60,
height: 30)
textView.frame = CGRect(x: 30,
y: secureButton.bottom+10 ,
width: scrollView.width-60,
height: 30)
sendButton.frame = CGRect(x: 30,
y: textView.bottom+10 ,
width: scrollView.width-60,
height: 30)
}
@objc func securebuttonTapped() {
let text = passwordField
text.isSecureTextEntry = !text.isSecureTextEntry
}
@objc func sendButtonTapped() {
let text = passwordField
textView.inputView = text
print("send button tapped")
}
}
Swift 5
如果你想在同一个控制器中传递数据,那非常简单。只需将文本分配给按下按钮上的文本字段
var textField = UITexField()
@objc func sendButtonTapped() {
// here you will assign the text you got from the password field to watever textfield you want, whether it is secure text or simple text.
textField.text = passwordField.text
print("send button tapped")
}
如果您想将该文本传递给其他人ViewController,您需要这样发送
let vc = UIStoryboard(name: "Main", bundle:
nil).instantiateViewController(withIdentifier: "YourViewController") as!
YourViewController
// here you will assign the text to the variable from other viewcontroller you
want to.
vc.text = "Enter the text here"
self.navigationController?.pushViewController(vc, animated: true)
我真新。如果可能的话,我想做的就是将密码字段中的文本作为安全文本发送到文本字段。有点像发送文本但带有安全文本。安全按钮只是让您看到里面的东西。我让它工作,但我不知道如何将信息从一个地方传输到另一个地方。创建函数?对不起,我是个菜鸟。
import UIKit
class ViewController: UIViewController {
private let scrollView: UIScrollView = {
let scrollView = UIScrollView()
scrollView.clipsToBounds = true
return scrollView
}()
private let secureButton : UIButton = {
let button = UIButton()
button.setTitle("Secure", for: .normal)
button.backgroundColor = .link
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = 12
button.titleLabel?.font = .systemFont(ofSize: 20, weight: .bold)
button.layer.masksToBounds = true
button.addTarget( self, action: #selector(securebuttonTapped), for: .touchUpInside)
return button
}()
let sendButton : UIButton = {
let button = UIButton()
button.setTitle("Send", for: .normal)
button.backgroundColor = .green
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = 12
button.titleLabel?.font = .systemFont(ofSize: 20, weight: .bold)
button.layer.masksToBounds = true
button.addTarget( self, action: #selector(sendButtonTapped), for: .touchUpInside)
return button
}()
let textView = UITextView()
private let passwordField: UITextField = {
let field = UITextField()
field.autocapitalizationType = .none
field.autocorrectionType = .no
field.returnKeyType = .done
field.layer.cornerRadius = 12
field.layer.borderWidth = 1
field.layer.borderColor = UIColor.lightGray.cgColor
field.placeholder = "Password"
field.leftView = UIView(frame: CGRect(x: 0, y: 0, width: 5, height: 0))
field.leftViewMode = .always
field.backgroundColor = .white
field.isSecureTextEntry = true
return field
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
view.backgroundColor = .gray
view.addSubview(scrollView)
scrollView.addSubview(passwordField)
scrollView.addSubview(secureButton)
scrollView.addSubview(textView)
scrollView.addSubview(sendButton)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.frame = view.bounds
passwordField.frame = CGRect(x: 30,
y: 100,
width: scrollView.width-60,
height: 52)
secureButton.frame = CGRect(x: 30,
y: passwordField.bottom+10 ,
width: scrollView.width-60,
height: 30)
textView.frame = CGRect(x: 30,
y: secureButton.bottom+10 ,
width: scrollView.width-60,
height: 30)
sendButton.frame = CGRect(x: 30,
y: textView.bottom+10 ,
width: scrollView.width-60,
height: 30)
}
@objc func securebuttonTapped() {
let text = passwordField
text.isSecureTextEntry = !text.isSecureTextEntry
}
@objc func sendButtonTapped() {
let text = passwordField
textView.inputView = text
print("send button tapped")
}
}
Swift 5
如果你想在同一个控制器中传递数据,那非常简单。只需将文本分配给按下按钮上的文本字段
var textField = UITexField()
@objc func sendButtonTapped() {
// here you will assign the text you got from the password field to watever textfield you want, whether it is secure text or simple text.
textField.text = passwordField.text
print("send button tapped")
}
如果您想将该文本传递给其他人ViewController,您需要这样发送
let vc = UIStoryboard(name: "Main", bundle:
nil).instantiateViewController(withIdentifier: "YourViewController") as!
YourViewController
// here you will assign the text to the variable from other viewcontroller you
want to.
vc.text = "Enter the text here"
self.navigationController?.pushViewController(vc, animated: true)