如何在 iPhone 的 UIAlertView 中添加 UITableView?
Posted
技术标签:
【中文标题】如何在 iPhone 的 UIAlertView 中添加 UITableView?【英文标题】:How to add a UITableView inside the UIAlertView in iPhone? 【发布时间】:2011-07-22 14:29:50 【问题描述】:我想在警报视图中添加UITableView
。
我尝试将表格视图添加为警报视图的子视图,但它不起作用。你能给我一些代码或示例链接吗?
我该怎么做?
【问题讨论】:
【参考方案1】:尝试以下任一页面:
http://zpasternack.blogspot.com/2010/10/stupid-uialertview-tricks-part-deux.html
https://github.com/blommegard/SBTableAlert
【讨论】:
2 个死链接和其他 2 个已移动。这就是为什么您应该在答案中添加代码,而不仅仅是链接。【参考方案2】:它在我的情况下工作
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"click for submission \n\n\n\n "delegate:self cancelButtonTitle:@"click for submission"
otherButtonTitles:nil];
table = [[UITableView alloc]initWithFrame:CGRectMake(10, 40, 264, 120)];
table.delegate = self;
table.dataSource = self;
[alert addSubview:table];
[alert show];
[table release];
[alert release];
【讨论】:
请不要忘记添加 UITableView 特定功能,如 cellForRowatIndexPath 等。这会导致 SIGABRT。 此代码不适用于 ios 7.. 如何在 iOS 7 中解决此问题 Apple 的文档明确禁止干预 UIAlertView 视图层次结构:"The view hierarchy for this class is private and must not be modified".【参考方案3】:这真的是你想要的吗?
警报非常突兀,对用户来说非常令人担忧。警报是模态的,应谨慎使用。也许其中一个可能是更好的解决方案:
导航到带有表格视图中选项的新屏幕。像大多数“设置”应用一样。 使用 UISegmentedControl,例如在 WiFi 网络的设置中。 如果在 iPad 上,则在 UIPopoverController 中有选项。 改写选项,使 UISwitch 成为逻辑控件。【讨论】:
【参考方案4】:UIAlertView + UITableView 不如使用 UIActionSheet。
【讨论】:
【参考方案5】:您可以将 CAAlertView "https://github.com/chandanankush/CAAlertView" 用于 tableView 列表和 datePicker
【讨论】:
以上是关于如何在 iPhone 的 UIAlertView 中添加 UITableView?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone 应用程序的不同文件中为 UIAlertview 设置委托
如何让 UIAlertView 在 iPhone 应用程序第一次启动时只出现一次?