У меня есть приложение, в котором я использую определенный дизайн по какой-то причине. Я помещал текстовое поле в виде предупреждения над другой кнопкой с фоновым изображением. Все отлично работает в версии ios 6.Текстовое поле в alertview не работает в ios7?
UIAlertView *av=[[UIAlertView alloc] initWithTitle:@"fdhdj" message:@" hdfjkhfjkhdk" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:@" ",@"cancel",nil];
av.alertViewStyle = UIAlertViewStylePlainTextInput;
namefield = [[UITextField alloc] initWithFrame:CGRectMake(10.0,43.0, 264.0, 44.0)];
namefield.borderStyle = UITextBorderStyleNone;
namefield.background = [UIImage imageNamed:@"text_field_default.png"];
namefield.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
namefield.textAlignment = UITextAlignmentCenter;
//[namefield setBackgroundColor:[UIColor whiteColor]];
[av addSubview:namefield];
[namefield release];
av.tag=12;
av.delegate=self;
[av show];
[av release];
Но теперь в ИОС 7, я слышал, что вы не можете легко изменить иерархию представление по UIAlertView. Одна альтернатива для этого случая установить
alert.alertViewStyle = UIAlertViewStylePlainTextInput
Но мы можем добавить, что текстовое поле, куда мы хотим? Как в моем случае выше первого другого элемента. Кто-нибудь может мне помочь?
Почему бы вам не сделать свою собственную иерархию UIView, что у вас есть полный контроль вместо того, чтобы обманывать UIAlertView. [Документация Apple для состояний UIAlertView] (https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html#//apple_ref/doc/uid/TP40006802-CH3-DontLinkElementID_2) : «Иерархия представления для этого класса является частной и не должна быть изменена». Это то, что вы делаете, добавляя subviews. –