我一直在寻找并尝试为此问题提供的所有代码示例,但是我似乎无法使其正常工作.这是我第一次制作一个应用程序(除了完成教程),请原谅我提出一个'愚蠢'的问题.我只是个新手.
我正在尝试创建一个iOS应用程序来注册开始和结束时间,服务类型和客户.一旦用户点击UITextField,UIPicker就会弹出显示信息.我能够为开始和结束时间创建UIDatePicker,并为服务和客户创建一个空的UIPickerView.
我遇到的问题是,我正在尝试将UIPickerView的客户名称和服务类型添加到每个.但到目前为止还没有成功.我已经尝试添加一个数组,但UIPickerView中没有任何内容.在故事板中,我为每个项目添加了4个标签和4个UITextField.
.h的代码如下所示:
@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> {
UIDatePicker *datePicker;
UIDatePicker *datePicker2;
NSArray *dienstArray;
NSArray *klantArray;
}
@property (strong, nonatomic) IBOutlet NSArray *dienstArray; //Service Array
@property (strong, nonatomic) IBOutlet NSArray *klantArray; //Customer Array
@property (weak, nonatomic) IBOutlet UIPickerView *dienstPicker; //Service PickerView
@property (weak, nonatomic) IBOutlet UIPickerView *klantPicker; //Customer PickerView
@property (weak, nonatomic) IBOutlet UITextField *dienstTextField; //Service TextField
@property (weak, nonatomic) IBOutlet UITextField *klantTextField; //Customer TextField
@property (weak, nonatomic) IBOutlet UITextField *dateSelectionTextField; //BeginDate TextField
@property (weak, nonatomic) IBOutlet …Run Code Online (Sandbox Code Playgroud) 我已经将具有目标的UITextField子类化了
self.addTarget(self, action: "onChange:", forControlEvents: .EditingChanged)
Run Code Online (Sandbox Code Playgroud)
当用户在文本字段中键入时,这可以正常工作.虽然我需要在手动更新textfield的"text"属性时调用相同的方法"onChange:".
let tf = CustomTextField()
tf.text = "Trigger !!!"
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
在我的主页上有四个文本字段.但是我想在用户在eamil textfield中写电子邮件时调用方法.
注意:我只想在用户输入电子邮件文本字段时调用方法.我不想在其他文本字段上调用方法.
这是我试过的::
func textFieldDidEndEditing(textField: UITextField) {
emailVarification()
}
Run Code Online (Sandbox Code Playgroud)
但是通过这个代码在每个文本字段上调用它的方法.
我有一个子类UIView,我有,UITextField并希望移动占位符文本一点点.我NSLayoutConstraint用于设置子视图的位置和大小.我已创建UIView并添加它leftView,UITextField但它崩溃说明"视图层次结构没有为约束做好准备".以下是我的代码:
class MasterView: UIView {
let searchTextField = UITextField()
let paddingView = UIView()
override init(frame: CGRect) {
super.init(frame: frame)
searchTextField.placeholder = "Search videos"
searchTextField.translatesAutoresizingMaskIntoConstraints = false
paddingView.translatesAutoresizingMaskIntoConstraints = false
searchTextField.leftView = paddingView
searchTextField.leftViewMode = UITextFieldViewMode.Always
self.addSubview(searchTextField)
}
// Gets called when using storyboard
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
self.addConstraint(NSLayoutConstraint(item: searchTextField, attribute: NSLayoutAttribute.TopMargin, relatedBy: NSLayoutRelation.Equal, toItem: self, attribute: NSLayoutAttribute.TopMargin, …Run Code Online (Sandbox Code Playgroud) 我有以下的代码,以防止用户进入一个周期以上.的UITextField,它工作正常,但我想这样做与另外两个文本框一样,这可怎么办呢?
我尝试分配delegate到多个字段并且它不起作用,它只适用于第一个响应的第一个.
class UserInputViewController: UIViewController, UITextFieldDelegate{
override func viewDidLoad() {
super.viewDidLoad()
self.myTextField.delegate = self
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let periodsInTextField = myTextField.text!.componentsSeparatedByString(".").count - 1
if (periodsInTextField > 0 && string == "."){
return false
}
return true
}
}
Run Code Online (Sandbox Code Playgroud)
编辑(答案):这是基于@KKRocks的答案,如何做到这一点.
class UserInputViewController: UIViewController, UITextFieldDelegate{
override func viewDidLoad() {
super.viewDidLoad()
self.myTextField.delegate = self
self.secondTextField.delegate = self
self.thirdTextField.delegate = self
}
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, …Run Code Online (Sandbox Code Playgroud) 我希望能够限制可以输入到文本字段中的字符,例如,我只想限制1-5个数字(1、2、3和5),并且如果用户输入的数字大于5 ,我希望textField不执行任何操作。
我已经看到了如何限制长度,但是如上所述,我找不到任何用于限制某些字符的内容。
我尝试使用,editingQtyFieldChanged但并不能完全满足我的要求。
myField.addTarget(self, action: #selector(UserInputViewController.fieldChanged), forControlEvents: UIControlEvents.EditingChanged)
func fieldChanged(){
let number = Int(myField.text!)
if number < 2{
print("Number not allowed")
}
}
Run Code Online (Sandbox Code Playgroud)
在Swift的uitextfield中仅限制数字1-5?
编辑:这是我的解决方案,这要归功于该线程。
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let numbers = ["6","7","8", "9"]
for number in numbers{
if string == number{
return false
}
}
}
Run Code Online (Sandbox Code Playgroud) 我希望在Swift 2.x中执行此操作:假设我在文本字段中输入文本.- 'Apple iPhone http://www.apple.com '
我现在正在更新带有标签的UIButton - Apple iPhone.当点击按钮启动' http://www.apple.com时,我想要IBAction .
我可以设置它,但我遇到麻烦的部分是 - 我如何从文本字段解析'Apple iPhone'和' http://www.apple.com '并将它们分开以便我可以更新UIButton标签一些文本并使用URL启动Safari?更具体地说,我希望能够检测"http://"之后的任何"文本",并始终使用文本来更新标签,并使用http来启动带有URL的浏览器.谢谢回答.
码:
txtField.attributedPlaceholder = NSAttributedString(string:strPlaceHolder, attributes:[NSForegroundColorAttributeName:UIColorFromRGB(color:PlaceHolderColor, alpha:1.0),NSFontAttributeName :UIFont(name: "Didot-Italic", size: 4)!])
Run Code Online (Sandbox Code Playgroud)
我试图更改UITextField占位符字体类型和字体大小.它不起作用.我的代码出了什么问题?任何帮助将不胜感激.
如何在Swift 3中更改所有TextField边框颜色我构建一个iPad应用程序.我在我的.xib文件中有很多TextField,现在我想更改边框颜色,但是要编写特定的文本字段这么多行,所以对此有什么排序方式?
我正在尝试创建一个函数,当用户在UITextField中输入文本时,标签显示输入的文本.
我该怎么做?
喜欢:
textField.text = "10"
Label.text = "\(textField.text) smthg" //. (10 smthg)
Run Code Online (Sandbox Code Playgroud)
textField.text = "10.56"
Label.text = "\(textField.text) smthg" //. (10.56 smthg)
Run Code Online (Sandbox Code Playgroud) ios ×10
uitextfield ×10
swift ×8
border-color ×1
func ×1
objective-c ×1
regex ×1
uilabel ×1
uipickerview ×1