Я новичок в разработке iOS и прошел учебники с помощью Objective-C, но теперь я пытаюсь Swift. Во всяком случае, я пишу приложение и имею элемент кнопки панели, который переходит к другому представлению, на котором есть три UITextFields. Когда пользователь вступает в первый UITextField, я хочу, чтобы клавиатура всплывала. Я использую действие, чтобы вызвать это и выпустить startFirstResponder() на UITextField. Я также пробовал делать это в делегате ViewDidAppear, и клавиатура не будет всплывать. Я пробовал это только на симуляторе с использованием iPhone 4 и iPhone 6 с iOS 8.1, поскольку у меня еще нет ключа для запуска его на устройстве (я дешев).UITextField сталFirstReponder не работает
Вот мой код
import Foundation
import UIKit
class testViewController : UIViewController
{
@IBOutlet weak var text: UITextField!
@IBAction func textEditing(sender: AnyObject) {
if self.canResignFirstResponder() == true &&
text.window != nil &&
text.canBecomeFirstResponder() == true &&
text.becomeFirstResponder() == true
{
NSLog("Did set responder\n")
}
else
{
NSLog("Failed setting text as first responder")
}
}
@IBAction func doneAction(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
override func viewWillAppear(animated: Bool) {
text.becomeFirstResponder()
}
}
Упор делает переключение на первый UITextField при becomeFirstResponder() вызывается в viewDidAppear.
Любые идеи. Я просмотрел множество сообщений до ответа и не работал над их решениями.
Мне никогда не приходилось выдавать сообщение «getFirstResponder» в любое текстовое поле. Готов поспорить, что вы закончили думать об этом. –
Да, но я только подумал, когда это не сработает. –
Да, так оно и есть для меня. –