苹果5怎么换密码html输入框换行

iPhone 5手机常见问题:如何给iphone5设置复杂密码
如何给iphone5设置复杂密码 每一个iphone5用户对于手机的理解都是不同的,有的只是把它当做一个通话工具,有人则作为心爱的玩具,也有很多人会把它当做平时工作和生活的帮手。因此,一部手机对于安全等级的要求是不同的,在iphone5中就有简单密码和复杂密码
&&&&&&&&&如何给iphone5设置复杂密码
& & & & &每一个iphone5用户对于手机的理解都是不同的,有的只是把它当做一个通话工具,有人则作为心爱的玩具,也有很多人会把它当做平时工作和生活的帮手。因此,一部手机对于安全等级的要求是不同的,在iphone5中就有简单密码和复杂密码两种加密锁定方式,可以根据自己的需要来做设定。
& & & & &Iphone的简单密码通常由4位数字组成,复杂密码还可以包含特殊符号和字母,并且密码长度不做限制,安全级别要高很多。密码的输入是在解开锁屏之后,通过显示的键盘输入你设置的密码。
& & & & &Iphone5复杂密码的设置方法:
& & & & &1.点击桌面的&设置&图标,选择&通用&选项,打开&密码锁定&界面,将&简单密码&一项向左拖动,关闭简单密码功能。
& & & & &2.点击屏幕上方的&打开密码&,这时会出现复杂密码输入框,将你想好的密码填写完毕后,点击右上角的&完成&。
& & & & &3.&需要密码&这个选项时间是可以设置的,一般设置为5分钟,也就是当屏幕关闭5分钟后才进入密码锁定,你可以根据习惯略微调整。
& & & & &4.下方的几个选择保持默认设置,也就是&锁定时允许访问&这个版块的三个选项为开启状态,而&抹掉数据&选项为关闭状态。
& & & & &注:抹掉数据这个选项如果开启,会在密码连续输入错误10次之后,自动删除iphone5中所存储的数据,一般不开启这个功能。
------分隔线----------------------------
尽管iPhone6和iPhone6Plus已经上市大半年的时间,但根据百度移动的统计,目前最受欢迎...
去年9月发布的苹果iPhone 6和今年3月亮相的三星Galaxy S6可以说都是目前市面上最好的...
近些年,手机厂商虽然没有像功能机时代那样使用机海战术,但为了划分产品线或者是其他...
今年iPhone又将迎来新一轮更新,而很多用户朋友这时候会想:苹果今年该提升摄像头像素...
据TechnoBuffalo网站报道,意大利视频制作公司SET Solution员工日前发布了一段苹果风...
就在刚刚,国外媒体9to5Mac曝光了所谓新一代iPhone的背部谍照。 从曝光的图片上看,这...其实这周推荐的软件中,《Zine》和《Auxy》都能进入精品行列,只不过针对性较强,一个...
虽然 WWDC 2015 过去已经有一段时间了,但部分用户依然在吐槽主要的两个操作系统 iOS ...
Android 和 iOS 的战争从来没有停止过,最初在手机上然后延伸到平板电脑,现在汽车的...
有些人吵着要越狱工具,有些人则是感叹越狱已经没多少用处了,你属于哪一部分?
千呼万唤后,越狱工具已更新。
不管通过什么平台购物,看到那一串账单时觉得无论如何都该剁手。
6 月 27 日 Cydia 插件更新一览。
城里人真会玩,写作业都用应用提交。
以擅长制作小品级闯关游戏并推出过清新风闯关作品《炼金鼠士》的游戏开发商 TwoDoor G...
《狂暴一家》是一款剧情非常奇葩的休闲手游新作,游戏中普通上班族米仓先生一家正在吃...
高端中文美食应用《味觉大师(FLAVOURS)》本周又被推上中国区 AppStore 首页优秀新应...
大家都知道 iPad 上有形形色色的音乐创作、音乐编辑、音乐演奏类应用,这些应用给我们...
《Pivvot》开发商 Fixpoint Productions 近日推出了一款虐心作品《领航者(Piloteer)...
去年独立游戏团队 Deemedya M.S. Ltd. 推出了一款名为《变色龙找水果》的益智游戏,以...
《末日狂飙》(Apocalypse Traffic)是本周推出的一款跑酷类飙车游戏,游戏中玩家将驾...
Flir推出的最新热成像产品让用户体验了一把成为“铁血战士”的感觉。
不少人都养过宠物,小狗小猫小鱼什么的,说到养鱼,那么肯定要给它们一个好点儿的环境...
iPhone外设的作用范围越来越大,库克看到这种消息,想必也是很开心的。
在这个无创意不成活的年代,手机壳是众多厂商们最容易实现灵感的地方,LUCKY STAR 推...
世界最小的 1 吋感光元件,2020 万像素,还有知名图像处理软件公司 DxO 的影像处理技...
为了满足消费者的不同喜好,酷能量(kuner)的第二款酷壳 iPhone 6充电版,即 钻石款 ...
一款小小的适配器是如何在55度杯等年度大热创意单品环伺下脱颖而出,今天就专门给大家...
大胆的预测一下,正如红米和魅蓝在百元机市场的撕杀一样,酷乐视新Q6能否开启一个全新...
[强迫症系列]锁屏密码输入框透明化研究-至今尚无成果,希望群策群力
注册时间 最后登录
在线时间2732 小时 UID
帖子 精华3
主题帖子人气
金苹果, 积分 2800, 距离下一级还需 200 积分
强迫症又来了!
这几天开始使用锁屏密码了,因为身边有人iPhone丢了,信息也被恶意利用了。
由于我的锁屏已经全部透明了,所以开启密码之后,强迫症又不爽了,密码键盘怎么那么丑,透明之,这个比较简单
但到了密码输入框那里,无语了,搜遍论坛和google,发现这个东东必须装WB才能透明或者隐藏,我可是纯手工党啊,坚决抵制主题插件
简单研究了一下,不过没有进展,有同好的可以进来看看,大家讨论一下,这才是论坛的功能嘛
<font color="#,这个背景的白块块文件是在ork文件中的
<font color="#,解包shared@2x,你可以看到跟锁屏密码输入框相关的四个png文件
四个文件.jpg (33 KB, 下载次数: 0)
15:08 上传
<font color="#,这四个文件对应的元素如下图所示,其中3个是对应复杂密码情况的,1个是对应简单密码情况的,而简单密码对应的那个白色方块是我们最想换掉的
图解锁屏密码框-简单密码.jpg (84 KB, 下载次数: 0)
15:08 上传
图解锁屏密码框-复杂密码.jpg (91 KB, 下载次数: 0)
15:08 上传
已经有很多前辈对简单密码情况下的文件进行了透明化的替换,结果是,全部变成纯黑色的块块的,其结果跟我们手工替换文件夹背景图片之后的结果一致,黑乎乎一片。
1.png (155 KB, 下载次数: 0)
15:18 上传
更有一说的是,如果你用的是一个半透明的图片替换,那么你就会看到更丑的结果:透明度越高的地方越黑,透明度低的地方是另外的颜色
以上是当前手工替换的研究情况
非常想知道winterboard是如何实现透明的,看到有人说是先自动截屏,再把截屏里面密码框的部分用作背景图片,如果这么实现也太耗资源了吧,不大可能,因为我也看到有人利用winterboard通过手工替换透明图片的方式实现了这四个框的透明的。
最后,欢迎讨论
MacOS常用软件下载:链接: /s/1mg9jIxq 密码: akul
注册时间 最后登录
在线时间267 小时 UID
主题帖子人气
一样是水,何必装纯?
如果用黑色的呢? 那是什么效果 ?
注册时间 最后登录
在线时间2764 小时 UID
主题帖子人气
這个没办法的,只能winterboard实现,是程序自动绘图的,不是通过UI实现的
注册时间 最后登录
在线时间2732 小时 UID
帖子 精华3
主题帖子人气
回 1楼(lwj) 的帖子
引用第1楼lwj于 15:13发表的
:如果用黑色的呢? 那是什么效果 ? ......黑色的跟透明的效果一样啊,都是黑乎乎的一片
(155 KB, 下载次数: 0)
15:18 上传
MacOS常用软件下载:链接: /s/1mg9jIxq 密码: akul
注册时间 最后登录
在线时间2732 小时 UID
帖子 精华3
主题帖子人气
回 2楼(xd48) 的帖子
引用第2楼xd48于 15:18发表的
:這个没办法的,只能winterboard实现......WB又是怎么做到的呢?
还有,这里无法透明的原因是什么呢?
MacOS常用软件下载:链接: /s/1mg9jIxq 密码: akul
注册时间 最后登录
在线时间2764 小时 UID
主题帖子人气
回 4楼(onlyhilton) 的帖子
引用第4楼onlyhilton于 15:19发表的
:WB又是怎么做到的呢?还有,这里无法透明的原因是什么呢?......程序自动绘图的,不是通过图形UI来实现的,替换文件无效
注册时间 最后登录
在线时间114 小时 UID
主题帖子人气
能告诉一下那个白框的路径吗。
注册时间 最后登录
在线时间860 小时 UID
主题帖子人气
这是不是代码实现的啊
注册时间 最后登录
在线时间133 小时 UID
主题帖子人气
我也在研究这个,透明就变黑
威锋旗下产品
Hi~我是威威!
沪ICP备号-1 丨 深公安网监备案号 5
增值电信业务经营许可证:
Powered by Discuz!iphone怎么设置复杂的密码?iphone复杂密码设置方法介绍
简单密码总感觉安全感不够,本文为大家介绍让iPhone手机设置四位数以上的复杂密码方法,简单密码容易被人破解,那么如何为自己的爱机设置一个复杂的密码,以防信息泄露呢?来看看下面的设置步骤吧!主要流程就是先关闭掉简单密码,再重新设置新的密码
简单密码容易被人破解,那么如何为自己的爱机设置一个复杂的密码,以防信息泄露呢?来看看下面的设置步骤吧!主要流程就是先关闭掉简单密码,再重新设置新的密码。
移动互联网催生智能手机成为时尚潮。随时随地,我们寻觅在手机世界中拥有属于自己的个性化一切。我们开始热衷上传自拍照,热衷与亲密的朋友电话吐槽、热衷简讯交流感情、热衷手机邮件传递信息、热衷APP丰富生活&&而接踵而至的困扰发生了:我的自拍照被盗取怎么办?我与朋友的通话被窃听怎么办?我的短信被复制怎么办?还有我的邮箱,还有我的网银账号,还有&& 要如何保护自己手机中的重要讯息?其实iPhone有提供在从待机进入桌面时可以设置密码的功能。 只要跟着下面步骤进行开启, 以后就算手机掉了,心痛之余也至少可以欣慰点里面的隐私至少可以保护住。
第一步当然是点设置喽。然后点击&通用&,&密码锁定&,然后输入密码,把简单密码关闭。
iphone的简单密码是由4个数字组成的。想要更复杂的密码,就需要先关闭掉简单密码
然后开始更改密码,输入新密码,点下一步,再次输入新密码,点击完成,新的复杂密码就更改成功了,切记一定要记住自己的密码哦。
下面为大家介绍更加详细的设置方法及说明
发现身边的很多朋友在使用iphone的时候,都会设置一个4位数长度的密码,这是系统所默认的。那么能不能,为自己的爱机设置一个更为复杂的密码,以保护我们的个人隐私呢,答案肯定是可以的,那么应该如何去操作呢?
点击,手机的【设置】按钮。
在【设置】界面中,我们选择【通用】项。
在【通用】项中,选择【密码锁定】。
在【密码锁定】界面中,只要我们关闭【简单密码】,就可以为我们的爱机设置复杂密码了(这时你就可以输入英数混合的长密码)。
设置好后,我们的密码可以是数字、字母、符号所组合起来的密码了(不过虽然隐私安全很重要,可是要注意的是当设置这么长的密码,也代表以后从待机要进入桌面的时候,自己也是得花费这些时间键入这些密码。 )。
iPhone把简单密码关闭后的长密码输入框。iPhone如何设置开机密码?
来源:爱思助手
浏览次数:3428
随着科技的发展,手机除了简单的打电话发短信功能外,还有拍照、办公、购物、转帐、炒股等诸多功能,这也意味着越来越多的个人隐私会保存在手机中。如何防范别人偷窥手机中的隐私,最简单的办法就是给手机加把锁——设置开机密码。在iPhone中有专门的开机密码设置选项,默认状态为关闭,即不加密,下面小编一步步教您完成密码设置:第1步:打开iPhone并找到“设置”图标,点击进入;第2步:在“设置”选项中,找到“通用”分项图标,点击进入;第3步:找到“密码锁定”选项,默认状态为“关闭”,点击进入详细设置;第4步:点击“打开密码”。手机有两种密码设置方式,默认为“简单密码”,由0-9的4位数字组成,方便用户快速进行密码设置。如果用户想设置字母 数字的复杂多位密码,就需要把“简单密码”开关关闭;第5步:设置输入密码,简单密码模式下输入四位数字即可;第6步:再次输入密码,保证与上一步的密码完全一致;第7步:密码设置完毕后立即生效,用记在该设置中还可以关闭密码、更改密码。还可以设置锁定时允许访问的程序,甚至还有一招更狠的:抹掉数据!用户输入密码十次后,系统将抹掉该手机中的数据。对于手机遗失,该功能不失为避免数据被窃的最佳方案 ;设置了开机密码后,在开机滑动解锁后,系统会弹出密码输入框,此时只有输入正确密码才可以解锁使用手机。添加开机密码锁屏界面不变滑动解锁后就会弹出输入密码框注意事项:1、访问权限密码设置后请一定牢记,每次开机及修改设置时均要求输入。2、除非手机有重要数据,不建议设置复杂密码,4位简单密码设置方便快捷。在iOS 8中使用UIAlertController
招聘信息:
iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量(天地良心啊)。还有,某些旧的UIKit控件也同样发生了许多变化,比如说Alert Views、Action Sheets、Popovers以及Search Bar Controllers。本文将会对Alert Views和Action Sheets发生的改变进行一个大致的介绍,我们会采用Objective-C和swift两种语言同时进行代码说明。UIAlertView随着苹果上次iOS 5的发布,对话框视图样式出现在了我们面前,直到现在它都没有发生过很大的变化。下面的代码片段展示了如何初始化和显示一个带有“取消”和“好的”按钮的对话框视图。Objective-C版本:UIAlertView&*alertview&=&[[UIAlertView&alloc]&initWithTitle:@"标题"&message:@"这个是UIAlertView的默认样式"&delegate:self&cancelButtonTitle:@"取消"&otherButtonTitles:@"好的",&nil];
[alertview&show];UIAlertView的默认样式swift版本和Objective-C版本不同,在swift中,alertView的初始化只允许创建拥有一个取消按钮的对话框视图。或许您可以看到带有otherButtonTitles的init方法,但是很遗憾,这个方法是没有办法通过编译的。var&alertView&=&UIAlertView(title:&"标题",&message:&"这个是UIAlertView的默认样式",&delegate:&self,&cancelButtonTitle:&"取消")
alertView.show()swift版本的UIAlertView要能够创建和上面Objective-C版本相同的对话框视图,我们可以采取曲线救国的方法,虽然麻烦了些,但是我们为了目的可以不择手段的,是吧?var&alertView&=&UIAlertView()
alertView.delegate&=&self
alertView.title&=&"标题"
alertView.message&=&"这个是UIAlertView的默认样式"
alertView.addButtonWithTitle("取消")
alertView.addButtonWithTitle("好的")
alertView.show()您也可以通过更改UIAlertView的alertViewStyle属性来实现输入文字、密码甚至登录框的效果。UIAlertView文本对话框UIAlertView密码对话框UIAlertView登录对话框UIAlertViewDelegate协议拥有响应对话框视图的按钮动作的回调方法。还有当文本框内容改变时,调用alertViewShouldEnableOtherButton:方法可以让按钮动态地可用或者不可用。要说明一点,苹果官方现在并不提倡在iOS 8中使用UIAlertView,取而代之的是UIAlertController。下面我们就来介绍UIAlertController的使用方法。UIAlertController在iOS 8中,UIAlertController在功能上是和UIAlertView以及UIActionSheet相同的,UIAlertController以一种模块化替换的方式来代替这两货的功能和作用。是使用对话框(alert)还是使用上拉菜单(action sheet),就取决于在创建控制器时,您是如何设置首选样式的。一个简单的对话框例子您可以比较一下两种不同的创建对话框的代码,创建基础UIAlertController的代码和创建UIAlertView的代码非常相似:Objective-C版本:UIAlertController&*alertController&=&[UIAlertController&alertControllerWithTitle:@"标题"&message:@"这个是UIAlertController的默认样式"&preferredStyle:UIAlertControllerStyleAlert];swift版本:var&alertController&=&UIAlertController(title:&"标题",&message:&"这个是UIAlertController的默认样式",&preferredStyle:&UIAlertControllerStyle.Alert)同创建UIAlertView相比,我们无需指定代理,也无需在初始化过程中指定按钮。不过要特别注意第三个参数,要确定您选择的是对话框样式还是上拉菜单样式。通过创建UIAlertAction的实例,您可以将动作按钮添加到控制器上。UIAlertAction由标题字符串、样式以及当用户选中该动作时运行的代码块组成。通过UIAlertActionStyle,您可以选择如下三种动作样式:常规(default)、取消(cancel)以及警示(destruective)。为了实现原来我们在创建UIAlertView时创建的按钮效果,我们只需创建这两个动作按钮并将它们添加到控制器上即可。Objective-C版本:UIAlertAction&*cancelAction&=&[UIAlertAction&actionWithTitle:@"取消"&style:UIAlertActionStyleCancel&handler:nil];
UIAlertAction&*okAction&=&[UIAlertAction&actionWithTitle:@"好的"&style:UIAlertActionStyleDefault&handler:nil];
[alertController&addAction:cancelAction];
[alertController&addAction:okAction];swift版本:var&cancelAction&=&UIAlertAction(title:&"取消",&style:&UIAlertActionStyle.Cancel,&handler:&nil)
var&okAction&=&UIAlertAction(title:&"好的",&style:&UIAlertActionStyle.Default,&handler:&nil)
alertController.addAction(cancelAction)
alertController.addAction(okAction)最后,我们只需显示这个对话框视图控制器即可:Objective-C版本:[self&presentViewController:alertController&animated:YES&completion:nil];swift版本:self.presentViewController(alertController,&animated:&true,&completion:&nil)UIAlertController默认样式按钮显示的次序取决于它们添加到对话框控制器上的次序。一般来说,根据苹果官方制定的《iOS 用户界面指南》,在拥有两个按钮的对话框中,您应当将取消按钮放在左边。要注意,取消按钮是唯一的,如果您添加了第二个取消按钮,那么你就会得到如下的一个运行时异常:* Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘UIAlertController can only have one action with a style of UIAlertActionStyleCancel’异常信息简洁明了,我们在此就不赘述了。“警示”样式什么是“警示”样式呢?我们先不着急回答这个问题,先来看一下下面关于“警示”样式的简单示例。在这个示例中,我们将前面的示例中的“好的”按钮替换为了“重置”按钮。Objective-C版本:UIAlertAction&*resetAction&=&[UIAlertAction&actionWithTitle:@"重置"&style:UIAlertActionStyleDestructive&handler:nil];
[alertController&addAction:resetAction];swift版本:var&resetAction&=&UIAlertAction(title:&"重置",&style:&UIAlertActionStyle.Destructive,&handler:&nil)
alertController.addAction(resetAction)“警示”样式可以看出,我们新增的那个“重置”按钮变成了红色。根据苹果官方的定义,“警示”样式的按钮是用在可能会改变或删除数据的操作上。因此用了红色的醒目标识来警示用户。文本对话框UIAlertController极大的灵活性意味着您不必拘泥于内置样式。以前我们只能在默认视图、文本框视图、密码框视图、登录和密码输入框视图中选择,现在我们可以向对话框中添加任意数目的UITextField对象,并且可以使用所有的UITextField特性。当您向对话框控制器中添加文本框时,您需要指定一个用来配置文本框的代码块。举个栗子吧,要重新建立原来的登录和密码样式对话框,我们可以向其中添加两个文本框,然后用合适的占位符来配置它们,最后将密码输入框设置使用安全文本输入。Objective-C版本:UIAlertController&*alertController&=&[UIAlertController&alertControllerWithTitle:@"文本对话框"&message:@"登录和密码对话框示例"&preferredStyle:UIAlertControllerStyleAlert];
[alertController&addTextFieldWithConfigurationHandler:^(UITextField&*textField){
&&&&textField.placeholder&=&@"登录";
[alertController&addTextFieldWithConfigurationHandler:^(UITextField&*textField)&{
&&&&textField.placeholder&=&@"密码";
&&&&textField.secureTextEntry&=&YES;
}];swift版本:alertController.addTextFieldWithConfigurationHandler&{&
(textField:&UITextField!)&->&Void&in
&&&&textField.placeholder&=&"登录"
alertController.addTextFieldWithConfigurationHandler&{&
(textField:&UITextField!)&->&Void&in
&&&&textField.placeholder&=&"密码"
&&&&textField.secureTextEntry&=&true
}在“好的”按钮按下时,我们让程序读取文本框中的值。Objective-C版本:UIAlertAction&*okAction&=&[UIAlertAction&actionWithTitle:@"好的"&style:UIAlertActionStyleDefault&handler:^(UIAlertAction&*action)&{
&&&&UITextField&*login&=&alertController.textFields.firstO
&&&&UITextField&*password&=&alertController.textFields.lastO
}];swift版本:var&okAction&=&UIAlertAction(title:&"好的",&style:&UIAlertActionStyle.Default)&{
(action:&UIAlertAction!)&->&Void&in
&&&&var&login&=&alertController.textFields?.first&as&UITextField
&&&&var&password&=&alertController.textFields?.last&as&UITextField
}如果我们想要实现UIAlertView中的委托方法alertViewShouldEnableOtherButton:方法的话可能会有一些复杂。假定我们要让“登录”文本框中至少有3个字符才能激活“好的”按钮。很遗憾的是,在UIAlertController中并没有相应的委托方法,因此我们需要向“登录”文本框中添加一个Observer。Observer模式定义对象间的一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。我们可以在构造代码块中添加如下的代码片段来实现。Objective-C版本:[alertController&addTextFieldWithConfigurationHandler:^(UITextField&*textField){
&&&&[[NSNotificationCenter&defaultCenter]&addObserver:self&selector:@selector(alertTextFieldDidChange:)&name:UITextFieldTextDidChangeNotification&object:textField];
}];swift版本:alertController.addTextFieldWithConfigurationHandler&{
(textField:&UITextField!)&->&Void&in
&&&&NSNotificationCenter.defaultCenter().addObserver(self,&selector:&Selector("alertTextFieldDidChange:"),&name:&UITextFieldTextDidChangeNotification,&object:&textField)
}当视图控制器释放的时候我们需要移除这个Observer,我们通过在每个按钮动作的handler代码块(还有其他任何可能释放视图控制器的地方)中添加合适的代码来实现它。比如说在okAction这个按钮动作中:Objective-C版本:UIAlertAction&*okAction&=&[UIAlertAction&actionWithTitle:@"好的"&style:UIAlertActionStyleDefault&handler:^(UIAlertAction&*action)&{
&&&&[[NSNotificationCenter&defaultCenter]&removeObserver:self&name:UITextFieldTextDidChangeNotification&object:nil];
}];swift版本:var&okAction&=&UIAlertAction(title:&"好的",&style:&UIAlertActionStyle.Default)&{
(action:&UIAlertAction!)&->&Void&in
&&&&NSNotificationCenter.defaultCenter().removeObserver(self,&name:&UITextFieldTextDidChangeNotification,&object:&nil)
}在显示对话框之前,我们要冻结“好的”按钮Objective-C版本:okAction.enabled&=&NO;swift版本:okAction.enabled&=&false接下来,在通知观察者(notification observer)中,我们需要在激活按钮状态前检查“登录”文本框的内容。Objective-C版本:-&(void)alertTextFieldDidChange:(NSNotification&*)notification{
&&&&UIAlertController&*alertController&=&(UIAlertController&*)self.presentedViewC
&&&&if&(alertController)&{
&&&&&&&&UITextField&*login&=&alertController.textFields.firstO
&&&&&&&&UIAlertAction&*okAction&=&alertController.actions.lastO
&&&&&&&&okAction.enabled&=&login.text.length&>&2;
}swift版本:func&alertTextFieldDidChange(notification:&NSNotification){
&&&&var&alertController&=&self.presentedViewController&as&UIAlertController?
&&&&if&(alertController&!=&nil)&{
&&&&&&&&var&login&=&alertController!.textFields?.first&as&UITextField
&&&&&&&&var&okAction&=&alertController!.actions.last&as&UIAlertAction
&&&&&&&&okAction.enabled&=&countElements(login.text)&>&2
}UIAlertController的登录和密码对话框示例好了,现在对话框的“好的”按钮被冻结了,除非在“登录”文本框中输入3个以上的字符:上拉菜单当需要给用户展示一系列选择的时候(选择恐惧症患者杀手),上拉菜单就能够派上大用场了。和对话框不同,上拉菜单的展示形式和设备大小有关。在iPhone上(紧缩宽度),上拉菜单从屏幕底部升起。在iPad上(常规宽度),上拉菜单以弹出框的形式展现。创建上拉菜单的方式和创建对话框的方式非常类似,唯一的区别是它们的形式。Objective-C版本:UIAlertController&*alertController&=&[UIAlertController&alertControllerWithTitle:@"保存或删除数据"&message:@"删除数据将不可恢复"&preferredStyle:&UIAlertControllerStyleActionSheet];swift版本:var&alertController&=&UIAlertController(title:&"保存或删除数据",&message:&"删除数据将不可恢复",&preferredStyle:&UIAlertControllerStyle.ActionSheet)添加按钮动作的方式和对话框相同。Objective-C版本:UIAlertAction&*cancelAction&=&[UIAlertAction&actionWithTitle:@"取消"&style:UIAlertActionStyleCancel&handler:nil];
UIAlertAction&*deleteAction&=&[UIAlertAction&actionWithTitle:@"删除"&style:UIAlertActionStyleDestructive&handler:nil];
UIAlertAction&*archiveAction&=&[UIAlertAction&actionWithTitle:@"保存"&style:UIAlertActionStyleDefault&handler:nil];
[alertController&addAction:cancelAction];
[alertController&addAction:deleteAction];
[alertController&addAction:archiveAction];swift版本:var&cancelAction&=&UIAlertAction(title:&"取消",&style:&UIAlertActionStyle.Cancel,&handler:&nil)
var&deleteAction&=&UIAlertAction(title:&"删除",&style:&UIAlertActionStyle.Destructive,&handler:&nil)
var&archiveAction&=&UIAlertAction(title:&"保存",&style:&UIAlertActionStyle.Default,&handler:&nil)
alertController.addAction(cancelAction)
alertController.addAction(deleteAction)
alertController.addAction(archiveAction)您不能在上拉菜单中添加文本框,如果您强行作死添加了文本框,那么就会荣幸地得到一个运行时异常:* Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘Text fields can only be added to an alert controller of style UIAlertControllerStyleAlert’同样,简单的异常说明,我们也不多说了。接下来我们就可以在iPhone或者其他紧缩宽度的设备上展示了,不出我们所料,运行得很成功。Objective-C版本:[self&presentViewController:alertController&animated:YES&completion:nil];swift版本:self.presentViewController(alertController,&animated:&true,&completion:&nil)iPhone上的上拉菜单效果如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何(就是这么任性)。其他的按钮将会按照添加的次序从上往下依次显示。《iOS 用户界面指南》要求所有的“毁坏”样式按钮都必须排名第一(红榜嘛,很好理解的,对不对?)。别激动得太早,我们现在还有一个很严重的问题,这个问题隐藏得比较深。当我们使用iPad或其他常规宽度的设备时,就会得到一个运行时异常:Terminating app due to uncaught exception ‘NSGenericException’, reason: ‘UIPopoverPresentationController () should have a non-nil sourceView or barButtonItem set before the presentation occurs.’就如我们之前所说,在常规宽度的设备上,上拉菜单是以弹出框的形式展现。弹出框必须要有一个能够作为源视图或者栏按钮项目的描点(anchor point)。由于在本例中我们是使用了常规的UIButton来触发上拉菜单的,因此我们就将其作为描点。在iOS 8中我们不再需要小心翼翼地计算出弹出框的大小,UIAlertController将会根据设备大小自适应弹出框的大小。并且在iPhone或者紧缩宽度的设备中它将会返回nil值。配置该弹出框的代码如下:Objective-C版本:UIPopoverPresentationController&*popover&=&alertController.popoverPresentationC
if&(popover){
&&&&popover.sourceView&=&
&&&&popover.sourceRect&=&sender.
&&&&popover.permittedArrowDirections&=&UIPopoverArrowDirectionA
}swift版本:var&popover&=&alertController.popoverPresentationController
if&(popover&!=&nil){
&&&&popover?.sourceView&=&sender
&&&&popover?.sourceRect&=&sender.bounds
&&&&popover?.permittedArrowDirections&=&UIPopoverArrowDirection.Any
}iPad上的上拉菜单效果UIPopoverPresentationController类同样也是在iOS 8中新出现的类,用来替换UIPopoverController的。这个时候上拉菜单是以一个固定在源按钮上的弹出框的形式显示的。要注意UIAlertController在使用弹出框的时候自动移除了取消按钮。用户通过点击弹出框的外围部分来实现取消操作,因此取消按钮便不再必需。释放对话框控制器通常情况下,当用户选中一个动作后对话框控制器将会自行释放。不过您仍然可以在需要的时候以编程方式释放它,就像释放其他视图控制器一样。您应当在应用程序转至后台运行时移除对话框或者上拉菜单。假定我们正在监听UIApplicationDidEnterBackgroundNotification通知消息,我们可以在observer中释放任何显示出来的视图控制器。(参考在viewDidLoad方法中设立observer的示例代码)。Objective-C版本:-&(void)didEnterBackground:(NSNotification&*)notification
&&[[NSNotificationCenter&defaultCenter]&removeObserver:self&name:UITextFieldTextDidChangeNotification&object:nil];
&&[self.presentedViewController&dismissViewControllerAnimated:NO&completion:nil];
}swift版本:func&didEnterackground(notification:&NSNotification){
&&&&NSNotificationCenter.defaultCenter().removeObserver(self,&name:&UITextFieldTextDidChangeNotification,&object:&nil)
&&&&self.presentedViewController?.dismissViewControllerAnimated(false,&completion:&nil)
}注意,要保证运行安全我们同样要确保移除所有的文本框observer。我们来总结一下这篇文章比较长,但是希望能够对您有所帮助。原先的UIAlertView和UIActionSheet类仍然可以在iOS 8中工作得很好,所以没有必要急于更换代码(要知道本文用到的许多函数尽在iOS 8中支持)。本文的代码可以在我的Github主页上找到,包括了AlertController - ObjC以及AlertController - swift。
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
点击量6718点击量6264点击量4923点击量4519点击量4513点击量4475点击量4223点击量3988点击量3672
&2015 Chukong Technologies,Inc.
京公网安备89}

我要回帖

更多关于 密码输入框 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信