Будут отключение кнопки UIAlertView получить мое приложение отклонили?
Я использую AlertView с подвидом UITextView, чтобы пользователи могли отвечать на сообщения в моем приложении, но я хочу, чтобы кнопка ответа оповещения отключалась, когда пользователь вводит больше, чем ограничение символов. Будет ли отключение кнопки просмотра предупреждений, как это получить мое приложение отклонено, есть ли лучший способ сделать это?
-(void)textViewDidChange:(UITextView *)textView {
if (!replyAlert) {
return;
}
//character count
replyAlert.title = [NSString stringWithFormat:@"Reply to Post (%i/250)", [textView.text length]];
if ([textView.text length]>=250) {
//disable alert view button
for (UIView* view in [replyAlert subviews])
{
if ([[[view class] description] isEqualToString:@"UIAlertButton"])
{
UIButton *button = (UIButton*)view;
if ([button.titleLabel.text isEqualToString:@"Reply"]) {
//disable
button.enabled = NO;
}
}
}
} else if ([textView.text length]==249) {
//re-enable button if user deleted a character
for (UIView* view in [replyAlert subviews])
{
if ([[[view class] description] isEqualToString:@"UIAlertButton"])
{
UIButton *button = (UIButton*)view;
if ([button.titleLabel.text isEqualToString:@"Reply"]) {
//enable
button.enabled = YES;
}
}
}
}
}
1 ответ:
Посмотрите на этот метод на делегате (UIAlertViewDelegate)
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
Этот метод будет вызываться каждый раз, когда пользователь вводит символ в текстовое поле в представлении предупреждений, предполагая, что вы используете UIAlertViewStylePlainTextInput (?). Таким образом, в этом методе вы можете проверить длину текста в текстовом поле и вернуть TRUE/FALSE соответственно.
Этот метод доступен только в iOS 5.0 или более поздней версии, что может быть проблемой при поддержке более старых версий.
Если вы если вы добавляете свои собственные текстовые поля в виде вложенных представлений в представление предупреждений, то это само по себе является причиной отклонения приложения, поскольку оно утверждает, что иерархия представлений не подлежит манипулированию. Если вы используете стиль ввода текста alert view out-of-box и просто перемещаетесь по подвидам, чтобы проверить заголовки кнопок и отключить их, я был бы удивлен (обратите внимание, что это субъективное мнение), если бы это вызвало отклонение приложения.