2014-11-11 6 views
0

Я новичок в разработке 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.

Любые идеи. Я просмотрел множество сообщений до ответа и не работал над их решениями.

+0

Мне никогда не приходилось выдавать сообщение «getFirstResponder» в любое текстовое поле. Готов поспорить, что вы закончили думать об этом. –

+1

Да, но я только подумал, когда это не сработает. –

+0

Да, так оно и есть для меня. –

ответ

1

Если вы набираете свою физическую клавиатуру, ваш вход переходит в текстовое поле, как вы ожидаете? В симуляторе iOS8 клавиатура по умолчанию скрыта. См. Настройки Hardware -> Keyboard на вашем симуляторе iOS.

+0

Да, если я включу клавиатуру с помощью cmd + k, она появится. и когда я покидаю представление или приложение, он снова появляется. Спасибо за указание на это. –

0

Если вы можете набрать клавиатуру компьютера, это значит, что был выпущен «startFirstResponder», iOS 8 скрывает клавиатуру по умолчанию на симуляторе, что может быть причиной того, что вы не видите клавиатуру поп-музыки out

Смежные вопросы