ACActionSheet (仿微信ActionSheet效果)

ACActionSheet - 一個簡潔好用的ActionSheet/AlertView

系統(tǒng)UIActionSheet其實挺好用的定踱。但是有時候系統(tǒng)的風(fēng)格跟APP有些不搭腺占。
而且在iOS8.0 UIKit更新了UIAlertController列牺,蘋果建議:
UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead
。(使用UIActionSheet Xcode就會報deprecate的警告绍昂,挺煩的)
ACActionSheet是仿微信效果的苔埋,簡潔清新奠支,方便好用

GitHub: https://github.com/GardenerYun
Email: gardeneryun@foxmail.com
簡書博客地址: http://www.reibang.com/users/8489e70e237d/latest_articles
如有問題或建議請聯(lián)系我晕讲,我會馬上解決問題~ (? ??_??)?**


2022年01月04日 更新 (v1.0.6)

重寫ACActionSheet工具拳缠。
1墩新、使用UIScrollView,支持多按鈕脊凰,可滑動抖棘。
2、重寫show動畫狸涌,更絲滑切省。

2019年12月11日 更新 (v1.0.5)

1.優(yōu)化邏輯,并支持CocoaPods: pod 'ACActionSheet'

2.新增類目UIAlertController+ACAlertView
為UIAlertController以UIAlertView(Deprecate)代碼風(fēng)格新增block初始化方法帕胆,詳情見代碼:

+ (instancetype)alertControllerWithTitle:(nullable NSString *)title
                                 message:(nullable NSString *)message
                       cancelButtonTitle:(nullable NSString *)cancelButtonTitle
                      confirmButtonTitle:(nullable NSString *)confirmButtonTitle
                          preferredStyle:(UIAlertControllerStyle)preferredStyle
                          alertViewBlock:(nullable ACAlertViewBlock)alertViewBlock;



+ (instancetype)alertControllerWithTitle:(nullable NSString *)title
                                 message:(nullable NSString *)message
                       cancelButtonTitle:(nullable NSString *)cancelButtonTitle
                      confirmButtonTitle:(nullable NSString *)confirmButtonTitle
                       otherButtonTitles:(nullable NSArray <NSString *>*)otherButtonTitles
                          preferredStyle:(UIAlertControllerStyle)preferredStyle
                          alertViewBlock:(nullable ACAlertViewBlock)alertViewBlock;

(v1.0.0)

  • 這是微信效果截圖
ACAcitonSheet_03

ACAcitonSheet_01

ACAcitonSheet_02

  • 系統(tǒng)UIActionSheet (UIAlertController)gif 效果圖
系統(tǒng)ActionSheet.gif

ACActionSheet.gif

代碼示例

ACActionSheet盡力按照蘋果UIKit代碼風(fēng)格編寫朝捆。initWith...創(chuàng)建 -> show方法 -> delegate或block監(jiān)聽事件

  • delegate模式 創(chuàng)建
/**
 *  type delegate
 *
 *  @param title                  title            (可以為空)
 *  @param delegate               delegate
 *  @param cancelButtonTitle      "取消"按鈕         (默認(rèn)有)
 *  @param destructiveButtonTitle "警示性"(紅字)按鈕  (可以為空)
 *  @param otherButtonTitles      otherButtonTitles
 */
- (instancetype)initWithTitle:(NSString *)title
                     delegate:(id<ACActionSheetDelegate>)delegate
            cancelButtonTitle:(NSString *)cancelButtonTitle
       destructiveButtonTitle:(NSString *)destructiveButtonTitle
            otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
            
/***********************************************************************************/

ACActionSheet *actionSheet = [[ACActionSheet alloc] initWithTitle:@"保存或刪除數(shù)據(jù)" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"刪除" otherButtonTitles:@"保存",@"更改", nil];

[actionSheet show];

#pragma mark - ACActionSheet delegate
- (void)actionSheet:(ACActionSheet *)actionSheet didClickedButtonAtIndex:(NSInteger)buttonIndex {
    NSLog(@"ACActionSheet delegate - %ld",buttonIndex);
}
  • block模式 創(chuàng)建
typedef void(^ACActionSheetBlock)(NSInteger buttonIndex);

/**
 *  type block
 *
 *  @param title                  title            (可以為空)
 *  @param cancelButtonTitle      "取消"按鈕         (默認(rèn)有)
 *  @param destructiveButtonTitle "警示性"(紅字)按鈕  (可以為空)
 *  @param otherButtonTitles      otherButtonTitles
 *  @param actionSheetBlock       actionSheetBlock
 */
- (instancetype)initWithTitle:(NSString *)title
            cancelButtonTitle:(NSString *)cancelButtonTitle
       destructiveButtonTitle:(NSString *)destructiveButtonTitle
            otherButtonTitles:(NSArray *)otherButtonTitles
             actionSheetBlock:(ACActionSheetBlock) actionSheetBlock;
             
             
/***********************************************************************************/
ACActionSheet *actionSheet = [[ACActionSheet alloc] initWithTitle:nil cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@[@"小視頻",@"拍照",@"從手機(jī)相冊選擇"] actionSheetBlock:^(NSInteger buttonIndex) {
        NSLog(@"ACActionSheet block - %ld",buttonIndex);
    }];
[actionSheet show];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市懒豹,隨后出現(xiàn)的幾起案子芙盘,更是在濱河造成了極大的恐慌,老刑警劉巖脸秽,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儒老,死亡現(xiàn)場離奇詭異蚜枢,居然都是意外死亡吆鹤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門柑晒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來片酝,“玉大人囚衔,你說我怎么就攤上這事〉裱兀” “怎么了练湿?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長审轮。 經(jīng)常有香客問我肥哎,道長,這世上最難降的妖魔是什么断国? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任贤姆,我火速辦了婚禮,結(jié)果婚禮上稳衬,老公的妹妹穿的比我還像新娘霞捡。我一直安慰自己,他們只是感情好薄疚,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布碧信。 她就那樣靜靜地躺著赊琳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪砰碴。 梳的紋絲不亂的頭發(fā)上躏筏,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音呈枉,去河邊找鬼趁尼。 笑死,一個胖子當(dāng)著我的面吹牛猖辫,可吹牛的內(nèi)容都是我干的酥泞。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼啃憎,長吁一口氣:“原來是場噩夢啊……” “哼芝囤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辛萍,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤悯姊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贩毕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悯许,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年辉阶,在試婚紗的時候發(fā)現(xiàn)自己被綠了岸晦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡睛藻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邢隧,到底是詐尸還是另有隱情店印,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布倒慧,位于F島的核電站按摘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏纫谅。R本人自食惡果不足惜炫贤,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望付秕。 院中可真熱鬧兰珍,春花似錦、人聲如沸询吴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至唠摹,卻和暖如春爆捞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勾拉。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工煮甥, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人藕赞。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓成肘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親找默。 傳聞我的和親對象是個殘疾皇子艇劫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件惩激、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62
  • 很久沒有分享美食給大家啦店煞!其實今天我給大家分享的是特別平常的菜肴,在家中风钻,休閑的時候可以多做一些美味顷蟀,來熏陶家人們...
    食美者閱讀 373評論 0 2
  • 匆匆忙忙地駕車回家,吃個飯骡技,睡一覺鸣个,又駕車匆匆忙忙地趕上來工作的城市,家布朦,似乎一下子變得有些陌生囤萤,爸媽似乎也變得陌...
    耳朵在聆聽閱讀 479評論 0 0
  • 運(yùn)動涛舍、挨餓、按摩……關(guān)于減肥唆途,很多人試了很多種方法富雅,可是體重就是減不下來或是減下來了很容易反彈回去。 其實肛搬,只要把...
    健身客閱讀 774評論 0 10
  • K歌五個多小時没佑,好幾首新的歌曲第一次唱,居然很不錯温赔,哈哈 王菲《悶》 蔡健雅《Beautiful Love》《陌生...
    面包樹上的小熊考拉閱讀 254評論 0 0