#pragma mark 方法1
/**
* 用在IOS7,用到了代理
*/
- (void)use1
{
// 1.创建一个中间弹框,有“取消”和“确定按钮”,设置代理为当前控制器,由控制器监听点击了“取消”还是“确定”按钮
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"点击了图片按钮" delegate:selfcancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
// 2.显示在屏幕上
[alert show];
}
#pragma mark 监听方式1中出现的弹框中的按钮点击,控制器来监听点击了取消还是确定按钮
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
// 默认取消按钮索引为0
if (buttonIndex == 0) NSLog(@"点击了取消按钮");
else NSLog(@"点击了确定按钮");
}
#pragma mark 方法2
/**
* 用在IOS8,没有代理。点击按钮时要执行的操作放在了block中,因此不需要设置代理
*/
- (void)use2
{
// 1.创建弹框控制器, UIAlertControllerStyleAlert这个样式代表弹框显示在屏幕中央
UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击了头像"preferredStyle:UIAlertControllerStyleAlert];
// 2.添加取消按钮,block中存放点击了“取消”按钮要执行的操作
UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action) {
NSLog(@"点击了取消按钮");
}];
UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) {
NSLog(@"点击了确定按钮");
}];
// 3.将“取消”和“确定”按钮加入到弹框控制器中
[alertVc addAction:cancle];
[alertVc addAction:confirm];
// 4.控制器 展示弹框控件,完成时不做操作
[self presentViewController:alertVc animated:YES completion:^{
nil;
}];
}
#pragma mark 方法3
/**
* 用在IOS8,没有用到代理。跟方式2唯一不同的是:弹框的样式变为“UIAlertControllerStyleActionSheet”, 弹框出现在屏幕底部
*/
- (void)use3
{
UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"点击了头像"preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *cancle = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction*action) {
NSLog(@"点击了取消");
}];
UIAlertAction *confirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) {
NSLog(@"点击了确定按钮");
}];
[alertVc addAction:cancle];
[alertVc addAction:confirm];
[self presentViewController:alertVc animated:YES completion:^{
nil;
}];
}
golang用通道实现信号量,控制并发个数
什么是ScaleIO中的forwards rebuild和backwards rebuild?
SQL Server中的database checkpoint
如何将thick provision lazy zeroed的VMDK文件转换为thick provision eager zeroed?
LoadTestAgentResultsLateException in VS2010
SQL Server Instance无法启动了, 因为TempDB所在的分区没有了, 怎么办?
VMware vCenter中, 如何辩认虚机上Raw Device Mapping过了的一块物理磁盘?
SQL Server AlwaysOn Setup Step-By-Step Guide
TPC-E在populate测试Database时需要注意的一些事项