UIAlertController 提示框

原创 2016年05月31日 22:00:52

在这里创建一个View 在view上添加长按手势 通过长按手势触发弹出提示框 (目的只是为了示范 实际应用中大家根据实际情况自己安排触发的方法)

在外部定义一个UIView 然后把这个View设置为viewController的根视图 (当然也可以全部在控制器完成)
RootView.h

#import <UIKit/UIKit.h>

@interface RootView : UIView
@property (nonatomic, strong) UIView *myView;

@end

RootView.m

#import "RootView.h"

@implementation RootView

- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        [self addAllViews];
    }
    return self;
}

- (void)addAllViews {
    self.myView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 214, 200)];
    self.myView.backgroundColor = [UIColor yellowColor];
    [self addSubview:self.myView];

}

回到控制器具体实现 (这里写的程序实现的功能是:点击提示框的确定按钮后 View的颜色随机改变)


#import "RootViewController.h"
#import "RootView.h"
#define Kcolor arc4random() %256 / 255.0
@interface RootViewController ()

@property (nonatomic, strong) RootView *rootView;






@end

@implementation RootViewController

- (void)loadView {
    self.rootView = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.view = self.rootView;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self longPress];
}


- (void)longPress {
    // 创建长安手势
   UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)];
    [self.rootView.myView addGestureRecognizer:longPress];

}


- (void)longPressAction:(UILongPressGestureRecognizer *)sender {
    NSLog(@"123");
    if (sender.state == UIGestureRecognizerStateBegan) {
        //1.创建UIAlertController 对象
        UIAlertController *colorAlert = [UIAlertController alertControllerWithTitle:@"提示" message:@"要改变颜色吗?" preferredStyle:UIAlertControllerStyleAlert];
        //2.创建UIAlertAction
        UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"确定" style: UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        // block里面写具体要做的事
            self.rootView.myView.backgroundColor = [UIColor colorWithRed:Kcolor green:Kcolor blue:Kcolor alpha:1];

            // 用数组接收所有的TextFields
            NSArray *array = colorAlert.textFields;

            // 输出textField的text文本
            for (UITextField *textField in array) {
                NSLog(@"text = %@", textField.text);
            }




        }];

        UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
        //3.把action添加到alret上
        [colorAlert addAction:action1];
        [colorAlert addAction:action2];

        // 添加TextField
        [colorAlert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
            textField.placeholder = @"请输入用户名";
//            textField.delegate = self;
        }];

        [colorAlert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
            textField.placeholder = @"请输入密码";
            textField.borderStyle = 3;
        }];



        //4 模态推出colorAlert

        [self presentViewController:colorAlert animated:YES completion:nil];


    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

你知道 UIAlertView、UIActionSheet (以及它们各自的 delegate protocols) 在 iOS 8 中已经被废弃了吗? 这是真的。在你的代码中按住点击 UIAlert...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController. (void)showOkayCancelAlert { NSStr...

iOS UIAlertController提示框

UIAlertController实现如图效果我设置了一个按钮,在按钮的点击事件里写的以下代码:- (void)action:(UIButton *)btn{ //创建提示框 UIAl...

IOS使用UIAlertController三种显示提示框代码

UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView、UIActionSheet 1、UIAlertController显...

含文本框的提示框的使用->UIAlertController类的使用(用户登录界面实例)

在掌握了提示框的使用后,可以向提示框中添加文本框,构成类似登录界面一样的弹出式提示登录窗口,注意仅限于提示框样式,下拉菜单样式不能使用 在上一篇文章(提示框的使用->UIAlertController...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8推出了几个新的“controller”,主要是把类似之前的UIAlertView变成了UIAlertController,这不经意的改变,貌似把我之前理解的“controller”一下子推翻了...

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)

iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)