资讯详情

LGAlertView快速上手:10行代码打造你的第一个自定义弹窗(Objective-C与Swift)

📅 2026/10/15 18:24:37 | 华诺云谱 👁 阅读
LGAlertView快速上手:10行代码打造你的第一个自定义弹窗(Objective-C与Swift)
【免费下载链接】LGAlertViewCustomizable implementation of UIAlertViewController, UIAlertView and UIActionSheet. All in one. You can customize every detail. Make AlertView of your dream! :)项目地址https://gitcode.com/gh_mirrors/lg/LGAlertView点击查看免费下载LGAlertView是一款功能强大的 iOS自定义弹窗开源库用一个 API 统一替代UIAlertController、UIAlertView和UIActionSheet支持样式、颜色、圆角、阴影、毛玻璃等几乎每个细节的定制并且同时提供Objective-C 与 Swift双语言接口。本文带你从零开始几分钟内上手这个梦幻弹窗库。一、LGAlertView 是什么为什么选择它系统自带的弹窗美观但改不动标题字体、按钮颜色、圆角大小……你想改的地方它一个都不让你碰。LGAlertView 解决的正是这个问题全细节可定制颜色、字体、圆角、阴影、动画时长、毛玻璃背景……上百个属性随意调三种弹窗合一Alert居中弹窗、ActionSheet底部操作表、内嵌输入框/进度条/任意自定义视图⚡双风格引擎内置LGAlertViewStyleAlert与LGAlertViewStyleActionSheet两种风格枚举定义见 LGAlertView.h回调三通道Block、Delegate、NSNotification 三种方式监听按钮事件怎么舒服怎么来低版本兼容2.4.x 版本最低支持 iOS 12.0见 LGAlertView.podspec版本最低 iOS 版本1.0.06.02.1.08.02.4.1 及以上当前 2.4.412.0二、安装 LGAlertView三种最快方式方式一CocoaPods推荐在Podfile中添加两行platform :ios, 12.0 use_frameworks! pod LGAlertView执行pod install后Swift 项目import LGAlertViewObjective-C 项目#import LGAlertView/LGAlertView.h即可。方式二源码集成克隆仓库后将 LGAlertView/ 目录拖入你的 Xcode 工程git clone https://gitcode.com/gh_mirrors/lg/LGAlertView然后在使用处导入#import LGAlertView.h。Swift 项目需创建 Bridging Header 并写入同样的导入语句。方式三Carthage在Cartfile中加入github LGLibs/LGAlertView构建后把产物添加到工程即可。三、10行代码打造你的第一个自定义弹窗安装完成后核心流程只有三步创建 → 配置回调 → 展示。Objective-C 版LGAlertView *alertView [[LGAlertView alloc] initWithTitle:提示 message:确定要退出登录吗 style:LGAlertViewStyleAlert buttonTitles:[确定] cancelButtonTitle:取消 destructiveButtonTitle:nil]; alertView.actionHandler ^(LGAlertView *alertView, NSUInteger index, NSString *title) { NSLog(用户点击了%, title); }; [alertView showAnimated:YES];Swift 版let alertView LGAlertView(title: 提示, message: 确定要退出登录吗, style: .alert, buttonTitles: [确定], cancelButtonTitle: 取消, destructiveButtonTitle: nil) alertView.actionHandler { _, _, title in print(用户点击了\(title ?? )) } alertView.show(animated: true)就这么简单destructiveButtonTitle传入非 nil 文案时按钮会显示为系统风格的红色危险按钮如删除。小贴士属性只能在show之前修改展示后再改就失效了记得先配置完再弹出。四、ActionSheet 风格一键切换底部操作表把style参数换成LGAlertViewStyleActionSheet同一个对象立即变成从底部弹出的操作表按钮自动加高默认 56pt还自动适配 iPad 和刘海屏安全区。若想让按钮避开底部安全区只需一行[LGAlertView appearance].cancelButtonOffsetY window.safeAreaInsets.bottom;五、自定义外观appearance 一次设置全局生效LGAlertView 遵循UIAppearance协议在AppDelegate中统一设置后整个 App 的弹窗都会使用该风格无需每个弹窗单独配置[LGAlertView appearance].tintColor [UIColor greenColor]; // 按钮主题色 [LGAlertView appearance].cancelOnTouch NO; // 点遮罩不关闭 [LGAlertView appearance].layerCornerRadius 20.0; // 圆角 [LGAlertView appearance].animationDuration 0.3; // 动画时长单个按钮想特别对待用索引精准定制属性定义见 LGAlertViewButtonProperties.h[alertView setButtonPropertiesAtIndex:0 handler:^(LGAlertViewButtonProperties *properties) { properties.titleColor [UIColor yellowColor]; properties.image [UIImage imageNamed:super_icon]; }];六、内置内容输入框、进度条、任意视图LGAlertView 不只是文字按钮它还内置了这几类富内容实现分别位于 LGAlertViewTextField.h、LGAlertViewCell.m 等文件中场景初始化方法典型用途纯文本initWithTitle:…普通提示/确认输入框initWithTextFieldsAndTitle:…弹窗内输入名称、密码加载中initWithActivityIndicatorAndTitle:…网络请求等待进度条initWithProgressViewAndTitle:…下载进度可动态setProgress:任意视图initWithViewAndTitle:…日期选择器、自定义 XIB以输入框为例初始化时即可通过闭包配置每个输入框LGAlertView *alertView [[LGAlertView alloc] initWithTextFieldsAndTitle:输入 message:请输入用户名 numberOfTextFields:1 textFieldsSetupHandler:^(UITextField *textField, NSUInteger index) { textField.placeholder 用户名; } buttonTitles:[保存] cancelButtonTitle:取消 destructiveButtonTitle:nil];七、毛玻璃背景让弹窗更有质感设置coverBlurEffect让背后的页面瞬间模糊科技感拉满alertView.coverBlurEffect [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular]; alertView.coverColor [UIColor colorWithWhite:0.9 alpha:0.5]; // 模糊色下图正是 Demo 中模糊弹窗演示所用的页面背景图来自 TableViewControllerBlurredAlert.m 的backgroundView设置八、按钮回调处理Block / Delegate / 通知三选一方式适用场景入口Block最常用局部、轻量回调actionHandler/cancelHandler/destructiveHandlerDelegate集中管理生命周期事件LGAlertViewDelegate协议共 10 个可选方法Notification跨模块解耦监听如LGAlertViewActionNotification等 12 个常量Block 方式中若需访问self务必用弱引用避免循环引用完整回调定义见 LGAlertView.h__weak typeof(self) wself self; alertView.cancelHandler ^(LGAlertView *alertView) { [wself doSomething]; };九、项目结构与 Demo 项目导览仓库结构清晰源码与示例一目了然LGAlertView/ # 核心源码10 个 .h/.m 文件 ├── LGAlertView.h/.m # 主类全部属性与初始化方法 ├── LGAlertViewButton* # 按钮与按钮属性 ├── LGAlertViewCell* # 弹窗单元格 ├── LGAlertViewTextField* # 输入框 ├── LGAlertViewWindow* # 独立 Window 管理 └── ... Demo/LGAlertViewDemo/ # 可运行的示例工程 Framework/ # Framework 打包工程最推荐的新手路径打开 Xcode用 Demo 工程 跑一遍 TableViewControllerAlert.m 中列出的 30 个场景——从 4 按钮弹窗、图标按钮、长文本自适应到 Transition 弹窗无缝切换每个场景都是现成可用的代码片段照着抄就能上手。十、常见问题速查弹窗被状态栏挡住调整windowLevel属性默认LGAlertViewWindowLevelAboveStatusBar见 LGAlertView.h按钮想禁用setButtonEnabled:NO atIndex:0或cancelButtonEnabled NO点按钮后不自动关闭设置dismissOnAction NO手动调用dismiss想要自定义动画监听LGAlertViewShowAnimationsNotification或实现 Delegate 的showAnimationsForAlertView:duration:弹窗切换太生硬调用transitionToAlertView:实现无缝过渡LGAlertView 的 API 设计哲学就一句话系统弹窗给不了你的定制这里都有。现在就打开 Demo 工程打造属于你自己的梦幻弹窗吧赞分享【免费下载链接】LGAlertViewCustomizable implementation of UIAlertViewController, UIAlertView and UIActionSheet. All in one. You can customize every detail. Make AlertView of your dream! :)项目地址https://gitcode.com/gh_mirrors/lg/LGAlertView点击查看免费下载相关推荐如何快速上手BasePopup10个实用技巧帮你打造完美弹窗如何快速上手BasePopup10个实用技巧帮你打造完美弹窗 BasePopup是一个专为Android开发者设计的强大弹窗库能够帮助开发者快速构建各种样式移动开发UI组件10分钟快速上手Zag.js打造你的第一个可访问组件10分钟快速上手Zag.js打造你的第一个可访问组件 想要构建既美观又具备完美可访问性的UI组件吗Zag.js就是你的终极解决方案这个强大的JavaScr前端UI组件10分钟快速上手ARKit-CoreLocation打造你的第一个AR导航应用 ARKit CoreLocation是一个革命性的开源框架它将ARKit的高精度增强现实能力与CoreLocation的地理定位功能完美结合。通过这个强大的工VR/AR/MR移动开发创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑