如何写自定义的AlertView
如何写自定义的AlertView

效果


说明
考虑到后面的可定制性以及可维护性,本人用AbstractAlertView定义了AlertView抽象的基类,实现通过子类来完成.
注:这只是粗略的写了一个实现,并没有考虑到代码的合理性以及精确性.
源码
https://github.com/YouXianMing/UI-Component-Collection
//
// AbstractAlertView.h
// AlertViewDemo
//
// Created by YouXianMing on 15/10/15.
// Copyright © 2015年 ZiPeiYi. All rights reserved.
// #import <UIKit/UIKit.h> @class AbstractAlertView; @protocol AlertViewEventDelegate <NSObject> @required
/**
* 代理执行的事件
*
* @param alertView alertView
* @param index 按钮编号
*/
- (void)alertView:(AbstractAlertView *)alertView buttonEventIndex:(NSInteger)index; @end @interface AbstractAlertView : UIView /**
* 响应事件的代理
*/
@property (nonatomic, weak) id <AlertViewEventDelegate> delegate; /**
* 插入后显示的view
*/
@property (nonatomic, weak) UIView *insertView; /**
* 标题
*/
@property (nonatomic, strong) NSString *title; /**
* 副标题
*/
@property (nonatomic, strong) NSString *subTitle; /**
* 信息
*/
@property (nonatomic, strong) NSString *message; /**
* 按钮标题数组
*/
@property (nonatomic, strong) NSArray <NSString *> *buttonTitlesArray; /**
* 显示(在show的时候构建出view)
*/
- (void)show; /**
* 隐藏
*/
- (void)hide; @end
//
// AbstractAlertView.m
// AlertViewDemo
//
// Created by YouXianMing on 15/10/15.
// Copyright © 2015年 ZiPeiYi. All rights reserved.
// #import "AbstractAlertView.h" @implementation AbstractAlertView - (void)show { } - (void)hide { } @end
细节

如何写自定义的AlertView的更多相关文章
- 关于jqGrig如何写自定义格式化函数将JSON数据的字符串转换为表格各个列的值
首先介绍一下jqGrid是一个jQuery的一个表格框架,现在有一个需求就是将数据库表的数据拿出来显示出来,分别有id,name,details三个字段,其中难点就是details字段,它的数据是这样 ...
- LCD1602写自定义字符的Verilog源码
开发工具:Quartus II 9.1: 仿真软件:Questa Sim 10.0c: 硬件平台:Terasic DE2-115(EP2C35F672C6): 外设:hd44780控制器lcd1602 ...
- 教你怎样写自定义IP地址算法
通过IP地址可以看到算法规律,写成自定义IP地址,也可以把IP地址转为自定格式的IP地址.也可以用于加密一些明文数字.起始次方可自定义(以1次方和0次方为例) a.以下写正反算法(以1次方为最小单位) ...
- 使用log4net写自定义日志
在使用log4net写Web服务器端日志的时候,通常需要一些自定义的参数,比如请求的url,method,以及用户名等等,而log4net中默认的Log接口只提供了很少的参数. 在网上找的其他的 ...
- log4net修改数据库连接字符串和写自定义信息
最近项目需要用log4net来写日志,因为整个平台式在sharepoint上,我们需要记录具体是哪个子站点发生的日志,因此需要再原来的log表里面添加一个自定义信息列.由于平台的安全性要求,我们需要对 ...
- MyBatis-编写自定义分页插件
一.基础知识 本文测试和源码分析参考版本: Mybatis-version:3.5.5 本文相关测试源代码:https://github.com/wuya11/mybatis_demo 1.1 参考方 ...
- 手写自定义springboot-starter,感受框架的魅力和原理
一.前言 Springboot的自动配置原理,面试中经常问到,一直看也记不住,不如手写一个starter,加深一下记忆. 看了之后发现大部分的starter都是这个原理,实践才会记忆深刻. 核心思想: ...
- 判断一个数据是否存在于一个表中,Oracle中写自定义函数
create or replace function isExist(data in DataTypes) --DataTypes 为表中该数据的类型return Numberisv_flag num ...
- angularJS中如何写自定义指令
指令定义 对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能 例如,ng-click可以让一个元素能够监听click事件,并在接收到事件的时候执行angularJS ...
随机推荐
- javascript004_ECMA5数组新特性
•对于ECMAscript5这个版本的Array新特性补充: –位置方法:indexOf lastIndexOf –迭代方法:every filter forEach some ...
- jquery mobile 动态加载标签时,无法正常展示样式
原因 在chrome中审查元素,发现其增加了很多没有直接写在页面上的标签和样式.页面标签首先经过jquery.mobile-1.4.5.min.js的处理,添加了许多标签,然后再用css布局 解决方案 ...
- 关于function构造函数特别注意的
function在javascript中是对象,所以function持有构造函数例子:var a = new Function("x","y","re ...
- nginx故障分析与记录
本文是对于自己遇到nginx故障的一些记录.便于以后解决问题. 时间:2018_05_11 场景一:某天很多客户在群里反应说访问网站不了,报504错误. 环境:首先说明一点的就是公司网站是美国,日本等 ...
- Hudson-ci/Using Hudson/Installing Hudson/Installing Hudson RPM--官方文档
< Hudson-ci | Using Hudson | Installing Hudson(Redirected from Hudson-ci/Installing Hudson RPM) ...
- IE的if条件判断
我们经常需要编写兼容代码,特别是万恶的IE. 特此记录下IE提供的if判断: <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]--> < ...
- Django 中文文档地址
http://djangobook.py3k.cn/2.0/ MK一下
- unity多线程
多线程概念 多线程,是指实现多个线程并发执行的技术,合理利用多线程可以提升程序的性能,在unity中,一般是避免使用多线程的,unity对多线程的支持并不友好. 协程概念 协程,是指在主线程运行时开启 ...
- ListView和Adapter
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- [转]如何选择Html.RenderPartial和Html.RenderAction
Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. Html.RenderPartial是直接将用户控件嵌入到界面上: <%Htm ...