ios-iPhone-带选项的警报视图

问题描述

iPhone-带选项的警报视图

Android中可以有带选项的警报对话框,如下图:

但是iPhone应该怎么实现类似的呢?

解决方案

创建有代理名称和属性的MyCustomAlertViewController,创建 xib。然后这样写:

- (void) alertForAgentName: (NSString*) anAgentName agentPhoneNumber: (NSString*) anAgentPhoneNumber
{
    MyCustomAlertViewController* modalViewController =
        [[MyCustomAlertViewController alloc] initWithNibName: @"MyCustomAlertViewController" bundle:nil];

    modalViewController.agentName = anAgentName;
    modalViewController.agentPhoneNumber = anAgentPhoneNumber;

    UINavigationController *modalViewNavController =
        [[UINavigationController alloc]
        initWithRootViewController: modalViewController];

    [self.navigationController presentModalViewController:
        modalViewNavController animated:YES];
    // If MRC
    [modalViewNavController release];
}

解除对话框时进行调用:

- (IBAction) dismissModalView:(id)sender
{
    [self.parentViewController dismissModalViewControllerAnimated:NO];
}

解决方案二:

创建警告:

UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"" message:@"" delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
UILabel *labelone = [[UILabel alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
labelone.text=@"label1";
[labelone setBackgroundColor:[UIColor clearColor]];
[labelone setTextAlignment:UITextAlignmentLeft];

UILabel *labeltwo = [[UILabel alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
labeltwo.text=@"label2";
[labeltwo setBackgroundColor:[UIColor clearColor]];
[labeltwo setTextAlignment:UITextAlignmentLeft];

UILabel *labelthree = [[UILabel alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
labelthree.text=@"label3";
[labelthree setBackgroundColor:[UIColor clearColor]];
[labelthree setTextAlignment:UITextAlignmentLeft];

[alert addSubview:labelone];
[alert addSubview:labeltwo];
[alert addSubview:labelthree];

[alert setDelegate:self];
[alert show];
[alert release];

调整警告框的框架尺寸:

- (void)willPresentAlertView:(UIAlertView *)alertView {
alertView.frame = CGRectMake(20.f, 200.f, 280.f, 150.f);
NSArray *subViewArray = alertView.subviews;
for(int x=0;x<[subViewArray count];x++){
    if([[[subViewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]])
    {
        UILabel *label = [subViewArray objectAtIndex:x];
        label.textAlignment = UITextAlignmentLeft;
    }
}
}
时间: 2024-12-21 21:25:20

ios-iPhone-带选项的警报视图的相关文章

基于IOS实现带箭头的view_IOS

我使用DrawRect进行的View的拉伸(是这样描述的吧??), 效果图也实现了类似于微信的View效果, 你可以看一看. 创建继承于UIView的视图 .h文件 // backGoundView @property (nonatomic, strong) UIView * _Nonnull backGoundView; // titles @property (nonatomic, strong) NSArray * _Nonnull dataArray; // images @proper

JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决_javascript技巧

var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常: 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date". 想着估计是字符串格式的问题,改成'2016/11/11 11:11:11'再测试,结果正常,以为这样应该没问题了,

方法-iOS自带高德地图定位是不是有两种方式

问题描述 iOS自带高德地图定位是不是有两种方式 1.iOS自带高德地图定位是不是有两种方式? a.CLLocationManager b.MKMapView的代理方法:两者的主要区别是,当有地图显示的时候,就不需要使用定位的方式获取经纬度:当没有地图显示的时候,就需要定位的方式获取经纬度:2.iOS使用百度地图定位只有一种? a.BMKMapView没有实现地图定位的方法? b.只能通过BMKLocationService来实现定位?3.两种地图定位的坐标是不是原始的经纬度(原始指的意思是:假

ios中带TabBar的导航控制器,自定义右滑手势返回

问题描述 ios中带TabBar的导航控制器,自定义右滑手势返回 右滑返回上一级页面时,tabBar不能紧贴着第一级页面,而是浮在最上层 解决方案 看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...看不明白是什么情况...

iOS自带文本转语音技术(TTS)的实现即语音播报的实践_IOS

文本转语音技术, 也叫TTS, 是Text To Speech的缩写. iOS如果想做有声书等功能的时候, 会用到这门技术. 一,使用iOS自带TTS需要注意的几点: 1.iOS7之后才有该功能 2.需要 AVFoundation 库 3.AVSpeechSynthesizer: 语音合成器, 可以假想成一个可以说话的人, 是最主要的接口 4.AVSpeechSynthesisVoice: 可以假想成人的声音 5.AVSpeechUtterance: 可以假想成要说的一段话 二,代码示例, 播放

【转】移除ios自带button样式

方法如下: /*移除ios自带button样式*/ input[type=button]{ -webkit-appearance:none; outline:none }

实例讲解iOS中的UIPageViewController翻页视图控制器_IOS

一.引言 UIPageViewController是iOS中少见的动画视图控制器之一,通过它既可以创建类似UIScrollView与UIPageControl结合的滚屏视图,也可以创建类似图书效果的炫酷翻页视图. UIPageViewController在iOS 5 SDK中首次引入,它使得开发者可以使用这个ViewController创建分页视图.在iOS 6中,这个类有了更新,支持滚动过渡效果.使用Page View,用户可以方便的通过手势在多个页面之间导航.UIPageViewContro

iOS开发那些事--简单表视图

表视图是iOS开发中使用最频繁的视图,我们一般都会选择以表的形式来展现数据,比如通讯录.频道列表等.表视图分段.分组.索引等功能使我们所展示的数据看起来更规整更有调理,更令人兴奋的是表视图还可以利用细节展示等功能多层次的展示数据,正所谓一表胜千言. 不过,相较于其它控件表视图的使用比较复杂,但是对比于表视图各种灵活多变的功能,我们在使用上花费的努力还是相当值得的. 简单表视图 表视图的形式灵活多变,本着由浅入深的原则,我们先从简单表视图开始学习.本节讲的简单表视图是动态表,(iOS 5之前全部是

iOS(iPhone/iPad)开发新手必读

Objective-C 入门 一个简单的可以快速上手的 Objective-C 入门教程. iOS概述 本文对构成iOS的基础特性提供了高层的概述,帮助你了解这个平台. 基于Xcode4开发第一个iPhone程序:"Hello World" 由宝玉出品的非常详尽的iOS开发入门教程. <C#妹妹和Objective-C阿姨对话录>系列 由小墨的童鞋创作的生动有趣的Objective-教程. 第二个iPhone应用程序:"Say Hello" [摘要]通过