iOS自定義UIAlertController,簡(jiǎn)單窗宦,方便自定義

現(xiàn)在App中用到提示框是不可避免的赦颇,但是系統(tǒng)UIAlertController的效果不太滿意,自能自定義UIAlertController赴涵,我是用runtime與kvc結(jié)合實(shí)現(xiàn)自定義UIAlertController媒怯。

這是基本寫法

?UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"性別只能修改一次,注冊(cè)后不能更改"message:nilpreferredStyle:UIAlertControllerStyleActionSheet];

? ? UIAlertAction *nan = [UIAlertAction actionWithTitle:@"男性"style:UIAlertActionStyleDefault handler:^(UIAlertAction *_Nonnullaction) {

? ? ? ? NSLog(@"男性");

? ? }];

? ? UIAlertAction *nv = [UIAlertAction actionWithTitle:@"女性"style:UIAlertActionStyleDefault handler:^(UIAlertAction *_Nonnullaction) {

? ? ? ? NSLog(@"女性");

? ? }];

? ? UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消"style:UIAlertActionStyleCancel handler:^(UIAlertAction *_Nonnullaction) {

? ? ? ? NSLog(@"取消");

? ? }];

? ? [alert addAction:nan];

? ? [alert addAction:nv];

? ? [alert addAction:cancel];

? ? [selfpresentViewController:alert animated:YEScompletion:nil];


系統(tǒng)的效果(是不是有點(diǎn)有點(diǎn)丑)

如果需要把 “男性” 字體顏色改為黃色,那該怎么辦那髓窜?

那就需要使用runtime和kvc結(jié)合了扇苞,首先使用runtime來(lái)獲取UIAlertController和UIAlertAction的所有屬性。在我以前的文章中詳細(xì)講解過(guò)寄纵,在這里就不再多說(shuō)了鳖敷。

文章地址:Runtime與KVC詳解

只需要添加這一句即可

//修改 “男性” 字體的顏色

[nansetValue:[UIColor yellowColor] forKey:@"_titleTextColor"];


效果圖(修改“男性”字體顏色)

如果需要把 “性別只能修改一次,注冊(cè)后不能更改” 字體改為30px,那該怎么辦那程拭?

只需要添加這幾句即可

NSMutableAttributedString *attibuedString = [[NSMutableAttributedString alloc]initWithString:@"性別只能修改一次,注冊(cè)后不能更改"];

? ? [attibuedStringaddAttribute:NSFontAttributeNamevalue:[UIFontsystemFontOfSize:30]range:NSMakeRange(0, attibuedString.length)];

? ? [alertsetValue:attibuedStringforKey:@"attributedTitle"];


效果圖(修改標(biāo)題的字號(hào))

這就是簡(jiǎn)單的修改UIAlertController的樣式定踱,可以簡(jiǎn)單的解決一些問(wèn)題,這樣也有些不足恃鞋,如果想要修改 “男性” 字體的大小崖媚,就實(shí)現(xiàn)不了亦歉。就需要你自定義UIAlertController了。


效果圖(自定義UIAlertController)

在使用過(guò)程中只需要傳入你需要顯示的內(nèi)容和背景圖即可

self.alertView = [[AlertView alloc]initWithFrame:CGRectMake(0, kScrentH, kScrentW, 196)];

? ? NSArray *titles = @[@"性別只能選擇一次, 注冊(cè)后不能修改", @"男性", @"女性", @"取消"];

? ? NSArray *actionBgImage = @[@"彈窗(提示)", @"彈窗(性別)", @"彈窗(性別)", @"彈窗(取消)"];;

? ? [self.alertViewalertTitles:titlesactionBgImages:actionBgImage];

? ? [self.viewaddSubview:self.alertView];


? ? //block回調(diào)事件

? ? __weakViewController*weakSelf =self;

? ? [self.alertViewsetClickBtn:^(NSIntegertag) {

? ? ? ? switch(tag) {

? ? ? ? ? ? case1:

?? ? ? ? ? ? ? ? NSLog(@"男性");

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case2:

? ? ? ? ? ? ? ? NSLog(@"女性");

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case3:

? ? ? ? ? ? ? ? NSLog(@"取消");

? ? ? ? ? ? ? ? break;


? ? ? ? ? ? default:

? ? ? ? ? ? ? ? break;

? ? ? ? }

? ? ? ? [weakSelf.alertViewalertDisAppear];

? ? }];


///動(dòng)畫開始(AlertView彈出)

- (void)alertAppear;

///動(dòng)畫結(jié)束(AlertView退出)

- (void)alertDisAppear;

用法簡(jiǎn)單至扰,歡迎來(lái)討論鳍徽、使用。

Demo地址:Demo的地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敢课,一起剝皮案震驚了整個(gè)濱河市阶祭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌直秆,老刑警劉巖濒募,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異圾结,居然都是意外死亡瑰剃,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門筝野,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)晌姚,“玉大人,你說(shuō)我怎么就攤上這事歇竟』舆耄” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵焕议,是天一觀的道長(zhǎng)宝磨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)盅安,這世上最難降的妖魔是什么唤锉? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮别瞭,結(jié)果婚禮上窿祥,老公的妹妹穿的比我還像新娘。我一直安慰自己蝙寨,他們只是感情好壁肋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著籽慢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪猫胁。 梳的紋絲不亂的頭發(fā)上箱亿,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音弃秆,去河邊找鬼届惋。 笑死髓帽,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脑豹。 我是一名探鬼主播郑藏,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瘩欺!你這毒婦竟也來(lái)了必盖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤俱饿,失蹤者是張志新(化名)和其女友劉穎歌粥,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拍埠,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡失驶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枣购。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嬉探。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖棉圈,靈堂內(nèi)的尸體忽然破棺而出涩堤,到底是詐尸還是另有隱情,我是刑警寧澤迄损,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布定躏,位于F島的核電站,受9級(jí)特大地震影響芹敌,放射性物質(zhì)發(fā)生泄漏痊远。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一氏捞、第九天 我趴在偏房一處隱蔽的房頂上張望碧聪。 院中可真熱鬧,春花似錦液茎、人聲如沸逞姿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)滞造。三九已至,卻和暖如春栋烤,著一層夾襖步出監(jiān)牢的瞬間谒养,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工明郭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留买窟,地道東北人丰泊。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像始绍,于是被迫代替她去往敵國(guó)和親瞳购。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容