私のviewControllerにはボタンとtextFieldがあります。 textFieldをクリックするとdidBeginEditイベントが発生し、ツールバーを呼び出すことができます。Swift - buttonClickイベントUIToolBarを呼び出すイベント
は、TextField上のユーザクリックが、それは以下のように思える:
そして私のスウィフトコードは以下の通りです:この時
Class ViewController: UIViewController {
@IBAction func btn(sender: AnyObject) {
// i want to call ToolBar here ...
}
@IBOutlet weak var textFieldOutlet: UITextField!
@IBAction func txtFieldBeginEdit(sender: AnyObject) {
raiseToolBar(textFieldOutlet)
}
var datePicker : UIDatePicker!
let ToolBar = UIToolbar()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func raiseToolBar(textField : UITextField)
{
self.datePicker = UIDatePicker(frame: CGRectMake(0,0,UIScreen.mainScreen().bounds.height , UIScreen.mainScreen().bounds.height/3))
self.datePicker.backgroundColor = UIColor.whiteColor()
self.datePicker.datePickerMode = .Date
textField.inputView = self.datePicker
ToolBar.barStyle = .Default
ToolBar.translucent = true
ToolBar.tintColor = UIColor(red : 92/255, green : 216/255 ,blue : 255/255, alpha: 1)
ToolBar.sizeToFit()
let done = UIBarButtonItem(title: "Tamam" , style: .Plain , target: self, action: #selector(ViewController.doneClick))
let space = UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target : nil , action: nil)
let cancel = UIBarButtonItem(title: "İptal" , style: .Plain , target: self, action: #selector(ViewController.cancelClick))
ToolBar.setItems([done , space , cancel], animated: true)
ToolBar.userInteractionEnabled = true
textField.inputAccessoryView = ToolBar
}
func doneClick() {
}
func cancelClick() {
}
}
は、これが私の見解ですポイントは問題ありません。 Bu私はこのボタンをクリックして、このUIToolBarを呼び出したいと思っています(名前はbtnです)。 btnClickイベントで空のtextFieldをraiseToolBarメソッドに送信しようとしましたが、動作しません。ツールバーを呼び出すコードをbuttonClickで編集するにはどうすればいいですか?
********************************
textFieldOutlet.becomeFirstResponder()
raiseToolBar(textFieldOutlet)
上記のように解決します。それは明確な方法ですか?あなたのBTNアクション内でこのようなあなたのテキストフィールドにファーストレスポンダを割り当てることができます
いいえ、それはプロパティに割り当てることができませんと言う:「自己」は不変です –