前戏
由于讨厌系统自带的alertView只能通过点击按钮才能关闭。你说万一按钮区域都是功能性的操作呢(这可不是我胡思乱想哦,要怪就产品的想法吧,呵呵哒),所以我们还是应该备有一个带有“X”(关闭按钮,为什么是叫X,因为X这个标志很明显嘛~,见gif)的alertView。
为了方便下次使用,我把这个控件独立封装了。代码就放在https://github.com/xxblsx/XBAlertView
使用方法
XBAlertView *alertView = [[XBAlertView alloc] initWithTitle:@"单个按钮" contentText:@"alert显示了"]; [alertView addAction:^{ NSLog(@"测试1111"); } withTitle:@"测试1"]; [alertView show];
只要三句代码,就可以实现你想要的功能,很方便吧。好用记得点👍哈~
代码很简单,应该不需要多解释什么。
实现方式
XBAlertView通过initWithTitle: contentText:方式来初始化(记住这里不要用init初始化,否则页面的展示会有问题,为啥呢,因为我没做处理啊,不要打我-.-)。
按钮是以addAction:的方式来添加的,这个是模仿系统自带的调用方式来处理,方便大家更好的记忆并使用。那么到底可以添加多少个呢,答案是:random of you。只不过不要超过屏幕的高度(准确来讲是不要超过屏幕高度-64*2,因为我不喜欢导航栏和状态栏被挡住的感觉,是否有处女座的情怀?,超过了咋办?反正我没做滚动,所以你超过了我就不给你显示了呗。)只需要在addAction的block中写业务处理就行,不需要关心alertView的关闭问题,我在控件内部已经做好了处理。
支持自定义frame
另外为了方便对这个控件内部的frame做修改,我把需要用到的设置写成了宏定义放在了.h文件中,这些设置如下图所示。