iOS黑科技【動(dòng)畫特效篇-5】 兩句代碼DIY彈窗--XMActionSheet

iOS黑科技【動(dòng)畫特效篇】第五期

本期的控件也是實(shí)用性非常高的一款彈窗控件,系統(tǒng)雖然本身自帶了一個(gè)UIAlertController键痛,但是效果一般觅彰,每次集成需要寫很長(zhǎng)一段施蜜,影響了代碼的整潔和美觀曲初,于是我們自己動(dòng)手做一個(gè)体谒。


先看看效果吧

XMActionSheetpic.png
XMActionSheet.gif

免費(fèi)贈(zèng)送git地址:
https://github.com/XMDashen/XMActionSheet.git


使用介紹:

懶人集成方法,核心代碼只需兩句复斥,第一步創(chuàng)建营密,第二步展示,簡(jiǎn)潔美觀大方

系統(tǒng)風(fēng)格彈窗彈窗
NSArray *titleArray=@[@"支付寶",@"微信",@"花唄"];
    XMActionSheet *sysSheet=[[XMActionSheet alloc] initWithTitles:titleArray WithActionBlock:^(NSInteger selectIndex) {
        
        if (selectIndex==0) {
            NSLog(@"支付寶");
        }
        if (selectIndex==1) {
            NSLog(@"微信");
        }
        if (selectIndex==2) {
            NSLog(@"花唄");
        }
    }];
    [sysSheet showSheetOnWindow];
自定義風(fēng)格彈窗
XMActionSheet *sheet=[[XMActionSheet alloc] initWithTitles:@[@"支付寶",@"微信",@"花唄"] LeftImagesNameArray:@[@"ic_alipay@2x",@"ic_wx@2x",@"ic_charge@2x"] sheetDescription:@"選擇支付方式" WithActionBlock:^(NSInteger selectIndex) {
        
        if (selectIndex==0) {
            NSLog(@"支付寶");
        }
        if (selectIndex==1) {
            NSLog(@"微信");
        }
        if (selectIndex==2) {
            NSLog(@"花唄");
        }
    }];
    [sheet showSheetOnWindow];
需要更多自定義請(qǐng)給這些屬性賦值
/*sheet選項(xiàng)標(biāo)題*/
@property (nonatomic,strong) NSArray *titlesArray;

/*sheet選項(xiàng)圖標(biāo)*/
@property (nonatomic,strong) NSArray<NSString *> *imagesArray;

/*是否顯示右側(cè)箭頭*/
@property (nonatomic,assign) BOOL isShowArrow;

/*sheet頂部描述*/
@property (nonatomic,strong) NSString *sheetDesciption;

/*sheet風(fēng)格*/
@property (nonatomic,assign) XMSheetStyle sheetStyle;

/*取消按鈕顏色*/
@property (nonatomic,strong) UIColor *cancelBtnColor;

/*sheet選項(xiàng)標(biāo)題顏色*/
@property (nonatomic,strong) NSArray<UIColor *> *titlesColorArray;

原理解析:

實(shí)現(xiàn)原理很簡(jiǎn)單:背景層+tableView表單層+邏輯+動(dòng)畫過度
代碼也不復(fù)雜,處理好細(xì)節(jié)就可以了

系統(tǒng)簡(jiǎn)單動(dòng)畫過度效果就不錯(cuò)了

[UIView animateWithDuration:0.2 animations:^{
       
        self.shelterView.alpha=0.5;
        self.tableView.frame=CGRectMake(tableViewX, tableViewY, tableViewW, tableViewH);
        
    } completion:^(BOOL finished) {
        
    }];

可用貝塞爾曲線切割指定圓角

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:cellBounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(8, 8)];
                
                CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
                
                maskLayer.frame = cellBounds;
                
                maskLayer.path = maskPath.CGPath;
                
                cell.layer.mask = maskLayer;

這一期就到這里了目锭,親們有什么意見和問題記得及時(shí)反饋哦,喜歡的話點(diǎn)個(gè)關(guān)注給個(gè)贊就可以了纷捞,千萬不要打賞哦(づ ̄3 ̄)づ╭?~
我們下期再會(huì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痢虹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子主儡,更是在濱河造成了極大的恐慌奖唯,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糜值,死亡現(xiàn)場(chǎng)離奇詭異丰捷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)寂汇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門病往,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骄瓣,你說我怎么就攤上這事停巷。” “怎么了榕栏?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵畔勤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我扒磁,道長(zhǎng)庆揪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任妨托,我火速辦了婚禮缸榛,結(jié)果婚禮上检访,老公的妹妹穿的比我還像新娘。我一直安慰自己仔掸,他們只是感情好脆贵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著起暮,像睡著了一般卖氨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上负懦,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天筒捺,我揣著相機(jī)與錄音,去河邊找鬼纸厉。 笑死系吭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颗品。 我是一名探鬼主播肯尺,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼躯枢!你這毒婦竟也來了则吟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤锄蹂,失蹤者是張志新(化名)和其女友劉穎氓仲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體得糜,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敬扛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了朝抖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啥箭。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖槽棍,靈堂內(nèi)的尸體忽然破棺而出捉蚤,到底是詐尸還是另有隱情,我是刑警寧澤炼七,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布缆巧,位于F島的核電站,受9級(jí)特大地震影響豌拙,放射性物質(zhì)發(fā)生泄漏陕悬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一按傅、第九天 我趴在偏房一處隱蔽的房頂上張望捉超。 院中可真熱鬧胧卤,春花似錦、人聲如沸拼岳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惜纸。三九已至叶撒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耐版,已是汗流浹背祠够。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粪牲,地道東北人古瓤。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腺阳,于是被迫代替她去往敵國(guó)和親落君。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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