因項目中用到不同的彈窗風(fēng)格,所以決定自己寫一個彈窗,繼承UIView。

PWAX2211.gif
- 默認風(fēng)格
- 密碼輸入框風(fēng)格
- 普通輸入框風(fēng)格
- 賬號密碼框風(fēng)格
- 富文本風(fēng)格
typedef NS_ENUM(NSInteger, SLAlertViewStyle) {
SLAlertViewStyleDefault = 0, //默認風(fēng)格
SLAlertViewStyleSecureTextInput, //密碼輸入框風(fēng)格
SLAlertViewStylePlainTextInput, //普通輸入框風(fēng)格
SLAlertViewStyleLoginAndPasswordInput, //賬號密碼框風(fēng)格
SLAlertViewStyleTextViewInput //富文本風(fēng)格
};
本Demo采用三種不同的初始化方法:
1、顯示可操作按鈕的 init。
/**
初始化彈窗
@param title 標(biāo)題
@param message 提示信息
@param style 彈窗風(fēng)格
@param delegate 委托對象
@param cancelButtonTitle 取消按鈕
@param otherButtonTitles 可變動按鈕
@return SLAlertView對象
*/
- (instancetype)initWithTitle:(NSString *)title
message:(NSString *)message
style:(SLAlertViewStyle)style
delegate:(id)delegate
cancelButtonTitle:(NSString *)cancelButtonTitle
otherButtonTitles:(NSString *)otherButtonTitles, ...NS_REQUIRES_NIL_TERMINATION;
2、指定時間內(nèi)彈窗自動消失的init。(不可操作)
/**
在給定的時間(delay)后自動消失(顯示標(biāo)題)
@param title 標(biāo)題
@param message 提示信息
@param delay 延遲消失時間
@return SLAlertView對象
*/
- (instancetype)initAutoDismissAlertViewWithTitle:(NSString *)title message:(NSString *)message dismissAfterDelay:(NSTimeInterval)delay;
3、2s后彈窗自動消失的init。(不可操作)
/**
2s后自動消失
@param message 提示信息
@return SLAlertView對象
*/
- (instancetype)initAutoDismissAlertViewWithMessage:(NSString *)message;
Github地址:Demo