PFLogInViewController
не предоставляет крючки, чтобы изменить это поведение. Возможно, вы захотите создать свой собственный подклассу PFLogInViewController
и переопределить метод, отображающий представление предупреждения при неудачном входе в систему.
Поскольку код PFLogInViewController has been open sourced, в соответствии с ним метод, отображающий вид предупреждения, равен _loginDidFailWithError
.
https://github.com/ParsePlatform/ParseUI-iOS/blob/master/ParseUI/Classes/LogInViewController/PFLogInViewController.m#L382-L390
- (void)_loginDidFailWithError:(NSError *)error {
if (_delegateExistingMethods.didFailToLogIn) {
[_delegate logInViewController:self didFailToLogInWithError:error];
}
[[NSNotificationCenter defaultCenter] postNotificationName:PFLogInFailureNotification object:self];
NSString *title = NSLocalizedString(@"Login Error", @"Login error alert title in PFLogInViewController");
[PFUIAlertView showAlertViewWithTitle:title error:error];
}
Например, если вы любите ниже, вы не можете отобразить оповещения, когда Логин не удается. Определение MYLogInViewController
в качестве подкласса PFLogInViewController
@interface MYLogInViewController : PFLogInViewController
@end
@implementation MYLogInViewController
- (void)_loginDidFailWithError:(NSError *)error {
if ([self.delegate respondsToSelector:@selector(logInViewController:didFailToLogInWithError:)]) {
[self.delegate logInViewController:self didFailToLogInWithError:error];
}
[[NSNotificationCenter defaultCenter] postNotificationName:PFLogInFailureNotification object:self];
}
@end
и использовать его вместо PFLogInViewController
MYLogInViewController *logInViewController = [[MYLogInViewController alloc] init];
logInViewController.delegate = self;
[self presentViewController:logInViewController animated:YES completion:nil];