转自:http://blog.it985.com/4321.html

alertView是iOS自带的弹窗通知框,我们来看下默认样式的效果图

下面直接上代码

1
2
3
4
5
- (void)delete{
//弹窗
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"是否删除?" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
}

如果想做成下面只有一个按钮的

1
2
3
4
5
- (void)delete{
//弹窗
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"是否删除?" message:nil delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alertView show];
}

弹窗后点击确定或者取消按钮想要加点事件的话可以这样

1
2
3
4
5
6
7
8
9
10
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex//点击弹窗按钮后
{
    NSLog(@"buttonIndex:%ld",(long)buttonIndex);
 
    if (buttonIndex == 0) {//取消
        NSLog(@"取消");
    }else if (buttonIndex == 1){//确定
        NSLog(@"确定");
    }
}

最左边的按钮的buttonIndex是0,右边的按钮buttonIndex依次加一。

现在来说一下自定义样式的用法,alertView不但可以做出只有文字样式的弹窗,也可以做出图片样式或者带有pickerView的弹窗,现在来说一下带有可编辑文本框弹窗的做法
先看一下效果图

使用之前先引入库
没有库的请先下载库
CustomIOS7AlertView

1
#import "CustomIOS7AlertView.h"

直接上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
- (void)alertViewUser
{
    CustomIOS7AlertView *alertView = [[CustomIOS7AlertView alloc] init];
    [alertView setButtonTitles:[NSMutableArray arrayWithObjects:@"上一个", @"确定", @"下一个", nil]];
 
    UIView *demoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 290, 120)];
 
    UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 180, 20)];
    title.text = @"请填写姓名";
    [demoView addSubview:title];
 
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 50, 270, 30)];
    textField.backgroundColor = [UIColor whiteColor];
    textField.returnKeyType = UIReturnKeyDone;
    textField.delegate = self;
    [demoView addSubview:textField];
 
    [alertView setContainerView:demoView];//把demoView添加到自定义的alertView中
 
    //这里是点击按钮之后触发的事件
    [alertView setOnButtonTouchUpInside:^(CustomIOS7AlertView *alertView, int buttonIndex) {
        if (buttonIndex==0) {//上一个
            NSLog(@"上一个");
        } else if (buttonIndex==1) {//确定
            NSLog(@"确定");
            NSLog(@"texeValue:%@",textField.text);
        } else if (buttonIndex == 2){//先保存数据,然后跳到下一个
            NSLog(@"下一个");
        }
 
    }];
 
    [alertView show];
 
}

要注意的是把demoView添加到alertView的方法是“[alertView setContainerView:demoView];”
并且点击alertView触发的事件也在上面的注释中标出。可直接把代码贴过去使用。
如果想添加图片或者其他的可以直接在demoView里面添加。控制好尺寸就可以了。

本文永久地址:http://blog.it985.com/4321.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。

最新文章

  1. javascript的几种继承
  2. nginx + Lua 实现自定义WAF
  3. SSH_框架整合2—查询显示
  4. iOS加入百度地图的几个问题
  5. Xcode Product -> Archive disabled
  6. iOS block的用法
  7. Redis Sentinel中的机制与原理详解
  8. Element UI 中组件this.$message报错
  9. Redis命令:scan实现模糊查询
  10. Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)
  11. Total Command 常用快捷键
  12. Asp.Net 合并图片(二维码和其他图片合并)
  13. Python 全栈开发一 python初识
  14. FileWriter写数据路径问题及关闭和刷新方法的区别
  15. Easyui 搜索框的折叠与展开方法
  16. jQuery获取复选框选中的每一个值
  17. InnoDB的B+树索引使用
  18. idea 单元测试 mybatis spring-test 异常: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  19. NoSQL 数据库概览及其与 SQL 语法的比较
  20. ruby关于require路径

热门文章

  1. SQL Server 中 `JSON_MODIFY` 的使用
  2. Python语言基础04-函数和模块的使用
  3. Pandas进阶笔记 (一) Groupby 重难点总结
  4. sql性能分析(explain关键字)
  5. [ISE使用] 使用ISE的过程中,遇到过的一些“软件上的问题”
  6. Anaconda 笔记
  7. VS Code 中使用 GitHub pull request 插件提交代码
  8. windows下大数据开发环境搭建(1)——Hadoop环境搭建
  9. API规范约定
  10. 模型量化原理及tflite示例