@interface UITextField(shake) - (void)shake; @end @implementation UITextField(shake) - (void)shake { CAKeyframeAnimation *animationKey = [CAKeyframeAnimation animationWithKeyPath:@"position"]; [animationKey setDuration:0.5f]; NSArray *array = [[NSArray alloc] initWithObjects: [NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x-5, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x+5, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x-5, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x+5, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x-5, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x+5, self.center.y)], [NSValue valueWithCGPoint:CGPointMake(self.center.x, self.center.y)], nil]; [animationKey setValues:array]; [array release]; NSArray *times = [[NSArray alloc] initWithObjects: [NSNumber numberWithFloat:0.1f], [NSNumber numberWithFloat:0.2f], [NSNumber numberWithFloat:0.3f], [NSNumber numberWithFloat:0.4f], [NSNumber numberWithFloat:0.5f], [NSNumber numberWithFloat:0.6f], [NSNumber numberWithFloat:0.7f], [NSNumber numberWithFloat:0.8f], [NSNumber numberWithFloat:0.9f], [NSNumber numberWithFloat:1.0f], nil]; [animationKey setKeyTimes:times]; [times release]; [self.layer addAnimation:animationKey forKey:@"TextFieldShake"]; } @end
这个效果可以用在一些用户输入数据的合法性验证上。
相关推荐
在iOS开发中,`UITextField`是用户界面中用于输入文本的基本元素。它的功能强大且灵活,可以用于创建各种形式的文本输入字段,如用户名、密码输入框等。本篇文章将详细探讨如何实现`UITextField`的键盘管理,包括...
在iOS开发中,`UITextField` 是一个至关重要的UI组件,它允许用户输入文本,并且广泛应用于各种场景,如登录、注册、搜索等。在标题提到的"炒股软件"上下文中,`UITextField` 可能被用来输入股票代码、设置价格预警...
UITextField+Extension 是 UITextField扩展 使用runtime实现,完美支持第三方键盘,实现上移效果 通过添加UITextField类目,使用runtime实现,TextField被遮挡时视图上移效果 点击对应的父视图的空白地方回收键盘,...
在iOS开发中,`UITextField` 是一个至关重要的UI组件,用于接收用户输入的文字信息。`UITextField+BlockDemo` 是一个示例项目,它展示了如何通过扩展`UITextField` 类并使用Blocks(block语法)来增强其功能,使得在...
在这个项目中,视图动画被用来模拟输入框(UITextField)在用户未输入任何信息时的抖动效果,这通常用于表示错误或提醒用户注意。这种动画通常是通过Core Animation框架或者UIKit的动画API来实现的。 **实现抖动...
在iOS开发中,`UITextField` 是一个常用的UI控件,用于接收用户输入的文本。在许多应用场景中,我们可能需要对用户输入的字符长度进行限制,例如手机号码、身份证号等,以确保数据的准确性和格式的一致性。标题提到...
在iOS开发中,`UITextField` 是一个非常重要的控件,用于接收用户输入文本。这个话题集中在`UITextField`的字体变化上,特别是在控件成为第一响应者(focus)时以及失去焦点(resigning first responder)时的行为。...
这些调整是基于设备类型(如 iPhone 是否为高清屏)进行的,确保在不同设备上的显示效果一致。 ##### 密码框处理 当创建密码输入框时,会调用 `-[UITextField setSecureTextEntry:]` 方法来启用安全文本输入模式,...
在iOS开发中,`UITextField`和`UITextView`是两种常用的文本输入控件。`UITextField`通常用于单行文本输入,而`UITextView`则适用于多行文本输入。然而,在某些场景下,开发者可能希望`UITextView`具备`UITextField`...
在iOS开发中,`UITextField` 是一个常用的UI组件,用于接收用户输入文本。在某些应用场景中,例如限制用户输入汉字的数量,我们需要实时监控`UITextField`中的汉字个数。本篇文章将详细讲解如何通过监听通知来动态...
### UITextField与手势识别器 在iOS开发中,UITextField是一个常用且重要的组件,它允许用户输入文本数据。然而,在某些特定的应用场景下,我们可能不希望UITextField在用户进行长按、双击等操作时弹出复制粘贴框。...
在iOS应用开发中,UITextField是苹果提供的一个核心控件,用于接收用户输入的文本信息。这个控件在各种场景下非常常见,如登录界面的用户名和密码输入、搜索框等。在本“UITextField 文本字段控件 - iOS开发”小Demo...
UITextField是iOS开发中用于输入文本的基本控件,它在用户界面设计中扮演着重要的角色。在iOS应用中,用户通常需要通过UITextField来输入用户名、密码等信息。了解并熟练掌握UITextField的各种属性和设置方法,能...
同时,为了实现输入效果,我们需要监听`UITextField`的代理方法,比如`textFieldDidBeginEditing:`和`textFieldDidEndEditing:`,这样可以在用户开始和结束编辑时执行相应的操作: ```swift func ...
在iOS开发中,`UITextField` 是一个至关重要的UI组件,用于接收用户输入文本。本教程将深入探讨`UITextField`在Objective-C中的应用,通过实际的Demo实例帮助开发者更好地理解和掌握其使用方法。在这个名为...
UITextField 小结 UITextField 是 iOS 中的一个基础控件,用于获取用户的输入信息。本文将对 UITextField 的各种使用方法进行详细的介绍,并提供汉字说明。 一、初始化 UITextField UITextField 可以通过 ...
在Swift中,虽然没有直接的Category概念,但通过扩展(Extension)功能可以实现类似的效果。在这里,我们创建了一个名为`LimitedTextField`的扩展,它是对`UITextField`的扩展,增加了对字数限制的支持。 具体实现...
在iOS开发中,`UITextField` 是一个非常常用的控件,用于接收用户输入的文本。`UITextField` 提供了丰富的功能,比如设置字体、颜色、边框样式等,但默认情况下,它并不支持自动补全(Autocompletion)功能。本篇...
本篇将深入探讨如何利用`UITextField`来创建一个类似登录界面的效果。 首先,`UITextField`的基本使用包括初始化、设置属性和添加到视图上。例如,你可以通过以下代码创建一个`UITextField`实例: ```swift let ...
每个UITextField都是一个`UIResponder`,可以通过设置`next`为下一个需要焦点的UITextField实例,实现用户按回车键后自动跳转到下一个文本字段的效果。同时,需要实现`textFieldShouldReturn(_:)`代理方法,当用户按...