Приостановка клавиатуры при нажатии пользователем кнопки «Домой»? - PullRequest
1 голос
/ 16 февраля 2012

Я занимаюсь разработкой приложения, в котором все работает нормально, кроме одного, т.е. когда пользователь нажимает клавишу «Домой», когда клавиатура активна и снова открывает мое приложение, границы рамки просмотра меняются и выходят за пределы.Мой ожидаемый результат - клавиатура должна быть приостановлена, или представление должно остаться в том же положении, когда оно возвращается с фона на передний план с неактивным состоянием клавиатуры.

Я надеюсь, что люди понимают мой сценарий и отвечают как можно скорее.

Спасибо.

Ответы [ 3 ]

1 голос
/ 16 февраля 2012

Я нашел решение моего вопроса, надеюсь, люди смогут использовать мое решение.Ниже приведен код, который я сделал,

Добавьте приведенную ниже строку кода в файл RootViewController (т. Е. Какое представление появляется вначале при открытии приложения).

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedNotification:) name:UIApplicationDidEnterBackgroundNotification object:nil];

Изатем добавьте приватный метод, как показано ниже

- (void) receivedNotification:(NSNotification *) notification
{
if ([username isFirstResponder])
{
    [username resignFirstResponder];
}
else if ([password isFirstResponder])
{
    [password resignFirstResponder];
}
}

Я надеюсь, что это поможет некоторым телом, Спасибо.

Дополнительная помощь, пожалуйста, смотрите по указанной ссылке,

1 голос
/ 16 февраля 2012

есть метод в приложении делегат

- (void)applicationDidEnterBackground:(UIApplication *)application

этот метод срабатывает при нажатии кнопки home.Сделайте необходимые изменения (textField resignFirstResponder) в этом методе, и он должен работать нормально, я думаю.

EDIT вот код

в классе, где у вас есть текстовое поле createметод

-(void)performWhenHomeBtnprssed
{
[MytextField resignFirstResponder];
}

, затем в

- (void)applicationDidEnterBackground:(UIApplication *)application
{
  [myClassObj performWhenHomeBtnprssed];
}

также я согласен с @valexa, вы должны найти основную причину проблемы

0 голосов
/ 16 февраля 2012

В разработке программного обеспечения всегда лучше устранять коренные причины, чем исправлять эффект, в вашем случае возникают проблемы с позиционированием ваших представлений, и вам следует учесть, что цикличность переднего / заднего плана не должна влиять на позиционирование представлений.

...