how to add a UITableView into UIAlertView in iOS 7

南笙酒味 提交于 2019-12-18 07:03:12

问题


did some googling around saw that subview is no longer supported in iOS 7.

Some ppl recommend creating custom view, but i am not sure how can i do that.

Here is my code, can anyone point me in the correct direction?

-(IBAction)click_select_fruit_type
{
select_dialog = [[[UIAlertView alloc] init] retain];
[select_dialog setDelegate:self];
[select_dialog setTitle:@"Fruit Type"];
[select_dialog setMessage:@"\n\n\n\n"];
[select_dialog addButtonWithTitle:@"Cancel"];

idType_table = [[UITableView alloc]initWithFrame:CGRectMake(20, 45, 245, 90)];
idType_table.delegate = self;
idType_table.dataSource = self;
[select_dialog addSubview:idType_table];

[idType_table reloadData];

[select_dialog show];
[select_dialog release];

}

回答1:


You can change accessoryView to any own customContentView in a standard alert view in iOS7

[alertView setValue:customContentView forKey:@"accessoryView"];

Note that you must call this before [alertView show].

Simplest illustrating example:

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
v.backgroundColor = [UIColor yellowColor];
[av setValue:v forKey:@"accessoryView"];
[av show];

Real tableView as the subview of UIAlertView example:




回答2:


You can't. Apple deprecated ability to add any subviews to UIAlertView in iOS 7. Which I think is a good decision. A lot of people abused UIAlertView.

Creating a custom view is a good idea, but that's not what you wrote in your code. It seems like you are adding subviews to UIAlertView again.

See Alert View UI guide here.




回答3:


you'll have to subclass UIViewController and use its preferredContentSize property to do some 'custom modal' mimicking UIAlertView layout



来源:https://stackoverflow.com/questions/19216477/how-to-add-a-uitableview-into-uialertview-in-ios-7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!