iOS自定义alertView提示框实例分享
在iOS开发中,自定义alertView是一种常见的需求,它允许开发者根据应用的设计风格调整提示框的外观,以提供更个性化的用户体验。本实例分享了一个可高度定制的iOS alertView,允许改变弹框背景色、按钮背景色以及提示消息的字体颜色。 我们来看一下这个自定义alertView的核心类`PBAlertController`。它是一个继承自`UIViewController`的类,提供了丰富的自定义接口,包括设置alertView背景色、确定按钮和取消按钮的背景色以及消息字体颜色。通过单例模式实现,确保在整个应用程序中只有一个`PBAlertController`实例,方便在任何地方调用并配置。 ```objc @interface PBAlertController : UIViewController @property (nonatomic, copy) UIColor *alertBackgroundColor; @property (nonatomic, copy) UIColor *btnConfirmBackgroundColor; @property (nonatomic, copy) UIColor *btnCancelBackgroundColor; @property (nonatomic, copy) UIColor *messageColor; +(instancetype)shareAlertController; -(void)alertViewControllerWithMessage:(NSString *)message andBlock:(PBBlock) block; @end ``` 在`.m`文件中,我们初始化控件,并通过懒加载来设置alertView的相关属性,比如默认的颜色。`PBAlertController`的`viewDidLoad`方法中将背景色设置为白色,而`alertViewControllerWithMessage:andBlock:`方法是显示alertView并处理用户点击事件的主要入口。 ```objc @implementation PBAlertController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; } -(void)alertViewControllerWithMessage:(NSString *)message andBlock:(PBBlock) block{ self.block = block; // ... } @end ``` 在实际的视图构建过程中,`PBAlertController`会创建一个覆盖整个屏幕的黑色半透明蒙版(`coverView`),以及一个可自定义颜色的alertView(`alertView`)。alertView通常包含消息文本和至少一个操作按钮,例如“确定”或“取消”。为了实现圆角效果,alertView的`layer.cornerRadius`属性被设置为6.0。此外,alertView的位置和大小可以通过调整frame来适应屏幕大小。 在实际使用时,开发者可以像这样调用`PBAlertController`的单例方法: ```objc [[PBAlertController shareAlertController] alertViewControllerWithMessage:@"这是一个示例消息" andBlock:^{ NSLog(@"用户点击了确定按钮"); }]; ``` 这样,自定义alertView就能够根据需求展示个性化提示,并通过提供的回调block处理用户的操作。这样的设计使得在iOS应用中添加自定义提示框变得简单且灵活,可以根据不同的场景和交互需求快速定制。 总结来说,这个自定义alertView实例主要涉及了以下知识点: 1. 自定义`UIViewController`子类以创建自定义alertView。 2. 使用单例模式确保全局唯一实例。 3. 属性的声明和懒加载,以在需要时初始化对象。 4. 在控制器中添加子视图,如蒙版和alertView,以及设置视图属性。 5. 使用闭包(block)处理用户交互。 6. 视图的布局和尺寸调整,以适配不同屏幕尺寸。 通过这样的实现,开发者可以轻松地在项目中集成自定义alertView,提供更加美观和一致的用户体验。
- 粉丝: 7
- 资源: 952
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助