使用系統(tǒng)UIAlertController自定義彈窗的最大好處是:不需要處理文本的顯示、無需手動管理彈窗的生命周期,無需更改彈窗的顯示層級。
如果不進行封裝的話铸磅,會在每個使用點單獨進行創(chuàng)建,重復代碼過多,不利于開發(fā)工作推進愚屁。
可修改的內(nèi)容包括:富文本的title及message济竹、按鈕的數(shù)量、按鈕的文字顏色霎槐。
使用方法:
NSString *title = @"這是標題";
NSMutableAttributedString *attributedTitle = [[NSMutableAttributedString alloc] initWithString:title];
[attributedTitle addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, attributedTitle.length)];
[attributedTitle addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:17] range:NSMakeRange(0, attributedTitle.length)];
NSString *message = @"這是內(nèi)容";
NSMutableAttributedString *attributedMessage = [[NSMutableAttributedString alloc] initWithString:message];
[attributedMessage addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, attributedMessage.length)];
[attributedMessage addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:14] range:NSMakeRange(0, attributedMessage.length)];
[[ZKAlertManager shared] showWithTitle:attributedTitle message:attributedMessage cancelText:@"" cancelColor:nil doneText:@"確定" doneColor:[UIColor redColor] controller:self cancelButtonHandler:^{
? ? NSLog(@"點擊了取消");
} doneButtonHandler:^{
? ? NSLog(@"點擊了確定");
}];
代碼地址:https://github.com/ZKhercules/ZKAlertManager