iOS开发-ios7 UIAlertView自定义
2014-01-17 10:54
411 查看
之前一个项目适配ios7之后,发现原先的UIAlertView无法正常显示。
后来发现ios7里面原生态的UIAlertView不支持自定义了。
然后就去github上找了下。发现了一个不错的第三方库。和我们之前的使用习惯差不多。
mark一下。
下面给个简单的示例。
将这两个文件加入我们的工程下。
#import "CustomIOS7AlertView.h"
并且添加协议。
<CustomIOS7AlertViewDelegate>
比如我的.h文件
这里,通过一个button绑定弹出UIAlertView。 当然,你也可以在其他条件触发launchDialog方法。
然后UIAlertView载入自己定义的视图(createDemoView)。
另外,块内的setOnButtonTouchUpInside 和 单独的delegate customIOS7dialogButtonTouchUpInside方法都能响应我们的选择。
具体选择哪种方式因人而异。
下面给出例子程序下载链接:http://download.csdn.net/detail/hitwhylz/6857765
学习的路上,与君共勉。
后来发现ios7里面原生态的UIAlertView不支持自定义了。
然后就去github上找了下。发现了一个不错的第三方库。和我们之前的使用习惯差不多。
mark一下。
下面给个简单的示例。
1.导入文件。
将这两个文件加入我们的工程下。
2.添加头文件
在需要使用UIAlertView的地方,添加头文件。#import "CustomIOS7AlertView.h"
并且添加协议。
<CustomIOS7AlertViewDelegate>
比如我的.h文件
#import <UIKit/UIKit.h> #import "CustomIOS7AlertView.h" @interface ViewController : UIViewController<CustomIOS7AlertViewDelegate> @end
3.添加UIAlertView
先给出.m文件。#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Just a subtle background color [self.view setBackgroundColor:[UIColor colorWithRed:0.8f green:0.8f blue:0.8f alpha:1.0f]]; // A simple button to launch the demo UIButton *launchDialog = [UIButton buttonWithType:UIButtonTypeCustom]; [launchDialog setFrame:CGRectMake(10, 30, self.view.bounds.size.width-20, 50)]; [launchDialog addTarget:self action:@selector(launchDialog:) forControlEvents:UIControlEventTouchDown]; [launchDialog setTitle:@"Launch Dialog" forState:UIControlStateNormal]; [launchDialog setBackgroundColor:[UIColor whiteColor]]; [launchDialog setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; [launchDialog.layer setBorderWidth:0]; [launchDialog.layer setCornerRadius:5]; [self.view addSubview:launchDialog]; } - (IBAction)launchDialog:(id)sender { // Here we need to pass a full frame CustomIOS7AlertView *alertView = [[CustomIOS7AlertView alloc] init]; // Add some custom content to the alert view [alertView setContainerView:[self createDemoView]]; // Modify the parameters [alertView setButtonTitles:[NSMutableArray arrayWithObjects:@"Close1", @"Close2", @"Close3", nil]]; [alertView setDelegate:self]; // You may use a Block, rather than a delegate. [alertView setOnButtonTouchUpInside:^(CustomIOS7AlertView *alertView, int buttonIndex) { NSLog(@"Block: Button at position %d is clicked on alertView %d.", buttonIndex, [alertView tag]); [alertView close]; }]; [alertView setUseMotionEffects:true]; // And launch the dialog [alertView show]; } - (void)customIOS7dialogButtonTouchUpInside: (CustomIOS7AlertView *)alertView clickedButtonAtIndex: (NSInteger)buttonIndex { NSLog(@"Delegate: Button at position %d is clicked on alertView %d.", buttonIndex, [alertView tag]); [alertView close]; } - (UIView *)createDemoView { UIView *demoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 290, 200)]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 270, 180)]; [imageView setImage:[UIImage imageNamed:@"demo"]]; [demoView addSubview:imageView]; return demoView; } @end
这里,通过一个button绑定弹出UIAlertView。 当然,你也可以在其他条件触发launchDialog方法。
然后UIAlertView载入自己定义的视图(createDemoView)。
另外,块内的setOnButtonTouchUpInside 和 单独的delegate customIOS7dialogButtonTouchUpInside方法都能响应我们的选择。
具体选择哪种方式因人而异。
下面给出例子程序下载链接:http://download.csdn.net/detail/hitwhylz/6857765
学习的路上,与君共勉。
相关文章推荐
- iOS开发笔记-ios7 UIAlertView自定义
- IOS 7 自定义的UIAlertView不能在iOS7上正常显示
- iOS开发之如何自定义UIActionSheet(UIAlertView)中的内容
- ios开发中自定义UIAlertView;
- IOS开发系列--TableView、多个TableViewCell、自定义Cell、Cell上画画(故事板+代码方式),ios7tableview索引
- iOS开发之自定义系统的UIAlertView调整Alert字体
- iOS开发-ios7样式绕圈活动指示器(自定义Activity Indicator View)
- IOS 7 自定义的UIAlertView不能在iOS7上正常显示
- iOS开发系列之常用自定义控件开发集—自定义对话框(UIAlertView)控件开发
- 关于iOS 7以后自定义UIAlertview(CustomIOS7AlertView)的用法心得
- IOS开发之 ---- iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
- IOS开发之自定义系统弹出键盘上方的view
- IOS开发之 ---- iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
- IOS开发之TableView替换默认的checkmark为自定义图像
- iOS开发之UICollectionViewController系列(三) :使用UICollectionView自定义瀑布流
- iOS开发UI篇—Quartz2D(自定义UIImageView控件)
- (iOS开发)关于IOS9以后UIAlertView被UIAlerTController取代的有关问题
- iOS开发——UI基础-懒加载,plist文件,字典转模型,自定义view
- iOS开发 对话框UIActionSheet和UIAlertView用法
- 【iOS开发TableView】TabelView自定义cell