首先是一个视图实现表格方法
<UITableViewDelegate,UITableViewDataSource>
{
//数组
UITableView *table;
// 表格元素
NSArray *imgarr,*name;
}
这里是初始化
table = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];
// 代理
table.delegate = self;
table.dataSource = self;
// 加载
[self.view addSubview:table];
// 数组内容
imgarr = @[@"1",@"2",@"3"];
name = @[@"确认添加",@"删除添加",@"关闭"];
这里是代理方法
//分区行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return imgarr.count;
}
//内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@""];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@""];
}
cell.imageView.image = [UIImage imageNamed:imgarr[indexPath.row]];
cell.textLabel.text = name[indexPath.row];
return cell;
}
//点击行相应事件
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
// 判断第几行
if (indexPath.row == 0) {
// 提示框
UIAlertController*alertController = [UIAlertController alertControllerWithTitle:@"确认添加"message:@"操作以完成" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
[alertController addAction:action];
[self presentViewController:alertController animated:YES completion:nil];
}
//如果等于第二行
else if (indexPath.row == 1){
// 提示框
UIAlertController*alertController = [UIAlertController alertControllerWithTitle:@"删除添加"message:@"操作以完成" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
[alertController addAction:action];
[self presentViewController:alertController animated:YES completion:nil];
}
else if (indexPath.row == 2){
// 提示框
UIAlertController*alertController = [UIAlertController alertControllerWithTitle:@"关闭"message:@"操作以完成" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil];
[alertController addAction:action];
[self presentViewController:alertController animated:YES completion:nil];
}
}
调用在这里实现
//实现按钮方法
-(void)btnclick{
//初始化内容视图控制器
PopViewController *popview = [[PopViewController alloc]init];
//设置大小
popview.preferredContentSize = CGSizeMake(150, 140);
// 设置弹出效果
popview.modalPresentationStyle = UIModalPresentationPopover;
//初始化一个popover
self.pop = popview.popoverPresentationController;
self.pop.delegate = self;
//设置弹出视图的颜色
self.pop.backgroundColor = [UIColor whiteColor];
//设置popover的来源按钮(以button谁为参照)
self.pop.sourceView = btn;
//设置弹出视图的位置(以button谁为参照)
self.pop.sourceRect = btn.bounds;
//箭头的方向 设置成UIPopoverArrowDirectionAny 会自动转换方向
self.pop.permittedArrowDirections = UIPopoverArrowDirectionUp;
//模态出弹框
[self presentViewController:popview animated:YES completion:nil];
}
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller{
return UIModalPresentationNone;
}
//点击蒙版是否消失,默认为yes;
-(BOOL)popoverPresentationControllerShouldDismissPopover:(UIPopoverPresentationController *)popoverPresentationController{
return YES;
}
//弹框消失时调用的方法
-(void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)popoverPresentationController{
NSLog(@"弹框已经消失");
}
网友评论