2 kai1111 kai1111 于 2016.01.29 14:54 提问

swift UIAlertController 添加tableview
swift   UIAlertController 添加tableview  有例子可以学习下吗

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.01.29 15:44
 UIViewController *controller = [[UIViewController alloc]init];
UITableView *alertTableView;
CGRect rect;
if (array.count < 4) {
    rect = CGRectMake(0, 0, 272, 100);
    [controller setPreferredContentSize:rect.size];

}
else if (array.count < 6){
    rect = CGRectMake(0, 0, 272, 150);
    [controller setPreferredContentSize:rect.size];
}
else if (array.count < 8){
    rect = CGRectMake(0, 0, 272, 200);
    [controller setPreferredContentSize:rect.size];

}
else{
    rect = CGRectMake(0, 0, 272, 250);
    [controller setPreferredContentSize:rect.size];
 }
 alertTableView  = [[UITableView alloc]initWithFrame:rect];
alertTableView.delegate = self;
alertTableView.dataSource = self;
alertTableView.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
[alertTableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
[alertTableView setTag:kAlertTableViewTag];
[controller.view addSubview:alertTableView];
[controller.view bringSubviewToFront:alertTableView];
[controller.view setUserInteractionEnabled:YES];
[alertTableView setUserInteractionEnabled:YES];
[alertTableView setAllowsSelection:YES];
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert];
[alertController setValue:controller forKey:@"contentViewController"];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {

}];
[alertController addAction:cancelAction];
[self presentViewController:alertController animated:YES completion:nil];
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS点击UITableView的cell,弹出UIAlertController有时会出现延迟
这里出现延迟,是由于tableViewCell的selectionStyle设成了UITableViewCellSelectionStyleNone,将selectionStyle设成default就不会出现延迟了, 延迟应该与界面本身没有发生UI变化有关... 我猜测是由于runloop没有收到更新UI的事件,此时创建UIWindow,然后推出AlertController,runloop不
UIAlertController + UIPickerView完美结合
参照例子:http://www.oschina.net/code/snippet_2450779_53800。。 要将UIPickerView显示在UIAlertController上,需要在title设置的时候加换行符类似  let alertViewController = UIAlertController(title:"商品类型\n\n\n\n\n\n\n\n\n\n\n", mes
iOS之tableView(五)的编辑删除插入操作和UIAlertController的使用
- (NSMutableArray *)dataArray {     if (nil == _dataArray) {                  // 实例化 dataArray #warning 不要忘记实例化 dataArray数组         _dataArray = [NSMutableArray array];
UIAlertController高级之嵌入其他控件
在编码过程中,我们经常遇到需要这样一个效果,就是弹出框的嵌套; 举个最简单的例子,比如你要选择时间,必然需要一个时间选择器DatePicker.但是这个选择器又是在你点击某按钮时弹出,弹出方式最常见的就是上拉菜单了,所以这就涉及了AlertController嵌入DatePicker; 因为前一篇我已经说过了,在IOS8之后,苹果已经废弃了actionSheet;那么我们就要重新来玩这个嵌套
Swift-->UIAlertController(对话框)的使用
在IOS 8.0之后, UIAlertView 和 UIActionSheet 已经被废弃了. 取而代之的是UIAlertController阅读之前,你需要具有Swift语法基础,至少要能看懂闭包以及结尾闭包.下图是UIAlertControllerStyle.Alert (UIAlertView)样式的截图: 下图就是UIAlertControllerStyle.ActionSheet (UI
Swift UI学习之UIAlertController(变得麻烦了)
let alert = UIAlertController(title: "alertView", message: "clickedButton event", preferredStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "cancel", style: UIAlertAct
UIAlertController中UIAlertControllerStyleActionSheet与PickerView选择器的结合使用
UIAlertController中UIAlertControllerStyleActionSheet与PickerView选择器的结合使用 在开发中经常会遇到一些很刁难人的需求,此篇文章解决一个关于Sheet与PickerView的结合使用,首先呢,现在弹框改用了UIAlertController,感觉比之前方便了很多,尤其是对用户的自定义布局等,下面这个设计图是一个朋友开发中遇到请教我的
Swift - 自定义UIAlertController的样式1(修改标题、按钮的字体和颜色)
自 iOS8 起,苹果把 UIActionSheet 和 UIAlertView 合并为了 UIAlertController。UIAlertController 的用法我之前也写过相关文章:Swift - 告警提示框(UIAlertController)的用法。其默认样式如下: 有网友问这个 UIAlertController 默认的样式能不能修改。虽然 UIAlert
最全的UIAlertController的使用
iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量(天地良心啊)。还有,某些旧的UIKit控件也同样发生了许多变化,比如说Alert Views、Action Sheets、Po
tableView中分割线为什么不显示?——跳坑及小技巧
往tableview中隐藏分割线的方法,比较简单,网上很多;今天遇到一个问题:向tableview中添加分割线。 一般我们都会这样做: tableView.separatorInset = UIEdgeInsetsZero 然而发现并没有效果;于是查阅了资料,一般可以按照如下方法解决: -(void)tableView:(UITableView *)tableView willDisp