swift - 如何在守卫中使用 UISegmentedControl 和文本字段
问题描述
我目前面临一个问题,如果填写了所需的信息,我想使用警卫来启用按钮。在阅读了警卫机制之后,我还不清楚一件事。我如何将 UITextFields 与 UISegmentedControls 结合起来,以便必须填写/选择两者才能激活按钮。
@objc func editingChanged(_ textField:UITextField, sgmntControl: UISegmentedControl) {
if textField.text?.count == 1 {
if textField.text?.first == " " {
textField.text = ""
return
}
}
guard
let name = tbxName.text, !name.isEmpty,
let firstName = tbxFirstname.text, !firstName.isEmpty,
let phoneNr = tbxPhoneNr.text, !phoneNr.isEmpty,
let birthDate = tbxBirthdate.text, !birthDate.isEmpty,
let gender = sgmntGender, !gender.isSelected,
let street = tbxStreet.text, !street.isEmpty,
let postalCode = tbxPLZ.text, !postalCode.isEmpty,
let city = tbxCity.text, !city.isEmpty,
let country = tbxCountry.text, !country.isEmpty,
let idNumber = tbxIdNo.text, !idNumber.isEmpty,
let valueCheck = sgmntValueCheck, !valueCheck.isSelected,
let drivingSchoolFlyer = sgmntDrivingSchoolFlyer, !drivingSchoolFlyer.isSelected,
let visionTest = sgmntVisionTest, !visionTest.isSelected,
let visionHelp = sgmntVisionHelp, !visionHelp.isSelected
else {
rbbtnSave!.isEnabled = false
return
}
rbbtnSave!.isEnabled = true
}
我目前不确定我的方法是否正确,谷歌搜索也没有帮助。我认为像使用文本字段一样使用 UISegmentedControl 是有意义的,因为两者都使用 isSelected 和 isEmpty 检查布尔值。
解决方案
推荐阅读
- flutter - “zsh:找不到命令:pub”,同时测试我的锻炼代码
- django - django 管理面板图像字段产生错误的图像路径
- javascript - 为什么 reactjs setState 有时会重新渲染旧状态数据?
- multithreading - 并行计算多个值
- go - Go http.FileServer 不提供所有静态内容
- gcc - 用于构建目标应用程序的 CMake 和自定义 sdk (yocto+arm)
- python - bash + 为什么脚本 bash 在 ambari-agent 停止期间被杀死
- python - 如何在 Python 中修复“<string> DeprecationWarning: invalid escape sequence”?
- wso2 - 使用电子邮件或短信 OTP 进行自适应身份验证 - 已解决
- r - 对 R 进行 Tukey 测试