我有一個應用程序,我正在使用特定設計的原因。我把一個文本字段放在另一個帶有背景圖像的按鈕上方的警報視圖中。在ios 6版本中一切正常。alertview中的Textfield在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];
但是現在在ios 7中,我聽說你不能輕易改變UIAlertView的視圖層次結構。 一種替代這種情況是設置
alert.alertViewStyle = UIAlertViewStylePlainTextInput
但是我們可以在該文本字段的地方,我們想要的嗎?在我的情況下,第一otherbutton.can任何人都可以幫助我嗎?
爲什麼不做你自己的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) :「這個類的視圖層次是私有的,不能修改」,這就是你通過添加子視圖所做的。 –