我想首先说这是我的第一个项目,我在努力寻找自己的答案之后才发布.我以为我找到了完成此任务的代码.我没有错误,但是当我跑步时,该字段仍然可以编辑.那么,当我设置的规则为真时,如何禁用我的字段编辑?
if sport.count == 1 {
enterSport.text = sport[0] as String //need to convert to a string
enterSport.editing; false //do not allow editing
} else {
//do nothing
}
Run Code Online (Sandbox Code Playgroud)
我之前定义了数组,所以if语句为true.谢谢你的帮助.
我发现了类似的问题,他们的答案很有帮助,但我最后还是坚持了.当我点击一个字段时,我试图让pickerView出现,然后当选择数据时,我希望pickerView隐藏.我能够从pickerView中获取数据以隐藏,但是仍然存在一个灰色矩形,它位于pickerView后面.如果我点击屏幕,而不是在字段或pickerView上,灰色矩形会隐藏,然后当我点击下一个字段时再次出现,只有在选择新数据后才会保留,直到我点击一些空白屏幕.
我在下面包含我的代码,你会发现我已经尝试了几个选项.这些都不是我尝试过的,但经过多次尝试,我开始只是注释而不是删除,所以我记得我做了什么.我对编码很陌生,所以我很欣赏这个网站作为资源,感谢您的帮助.
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {
@IBOutlet var enterSeason: UITextField!
@IBOutlet var enterSport: UITextField!
var dataPickerView = UIPickerView()
var season = ["2013", "2014", "2015"] //multi-season
var sport = ["Baseball", "Football", "Basketball", "Hockey"]
var activeDataArray = []
override func viewDidLoad() {
super.viewDidLoad()
enterSeason.inputView = dataPickerView
enterSport.inputView = dataPickerView
dataPickerView.delegate = self
dataPickerView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func textFieldDidBeginEditing(textField: UITextField) {
activeDataArray = [] //clear …
Run Code Online (Sandbox Code Playgroud) 我是编码的新手.话虽如此,我已经想出如何在我的白色活动指示器微调器后面放置一个灰色背景.现在我希望背景的四角是圆的.我搜索和搜索但是我没有成功.
这是我用来显示活动指标和背景的代码.如果您需要更多信息来提供帮助,请询问.我真的不知道怎么问这个问题.我是个新秀.
activityIndicator = UIActivityIndicatorView(frame:CGRectMake(0,0,80,80))
//activityIndicator.
activityIndicator.center = self.view.center;
activityIndicator.backgroundColor = (UIColor (white: 0.3, alpha: 0.8)) //create a background behind the spinner
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
Run Code Online (Sandbox Code Playgroud) 我有一个包含三个视图的项目,这些视图都是多个textFields,在点击时调用UIPickerView.我有两个视图工作得很好,但是当我开始第三个视图时,我无法textFieldDidBeginEditing
调用该函数.我通过在函数的第一行放置一个断点来证实这一点.当我运行时,断点永远不会被击中,即使我点击视图中的任何字段.我复制并粘贴了其他视图中的代码,更改了变量名称.
每个textField都在viewDidLoad
方法中初始化为我在先前代码中定义的dataPickerView变量.该dataPickerView.delegate = self
和dataPickerView.dataSource = self
也.
以下是我认为的相关代码.我确信有一些我想念的简单
@IBOutlet var enterDispPhys: UITextField!
@IBOutlet var enterUser: UITextField!
@IBOutlet var enterInsurance: UITextField!
@IBOutlet var enterBodyPart: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.userLabel.text = userName
self.teamLabel.text = teamName
//initialize the inputView of the dispensing physician field to the PickerView
enterDispPhys.inputView = dataPickerView
//initialize the inputView of the user name field to the PickerView
enterUser.inputView = dataPickerView
//initialize the inputView of the insurance field to the PickerView …
Run Code Online (Sandbox Code Playgroud) 我有一个带有日期文本字段的视图。我希望当前日期默认为“今天”,但如果用户想要输入不同的日期,他可以点击该字段以显示日期选择器(已添加到视图中)。我发现了一个类似的问题和答案,我虽然要去工作。我没有错误,但是当我点击日期字段时,键盘出现了,而不是日期选择器。
@IBOutlet var enterDate: UITextField!
@IBAction func dateTapped(sender: UITextField) {
//code for what to do when date field is tapped
var datePickerView : UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
sender.inputView = datePickerView
datePickerView.addTarget(self, action: Selector("handleDatePicker:"), forControlEvents: UIControlEvents.ValueChanged)
}
func handleDatePicker(sender: UIDatePicker) {
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
enterDate.text = dateFormatter.stringFromDate(sender.date)
}
Run Code Online (Sandbox Code Playgroud)