今天做项目的时候,有个需求,点击按钮,就在特定的编辑框输入按钮中的文字,一开始我还以C++的思想来写,先获取光标的位置,然后在判断是否在那个编辑框,进行输入.后来我旁边的同事看到了直接教我用代理方法,因为接触iOS没多久,也不清楚<UITextFieldDelegate>的用法.非常感谢我同事. 1.代理<UITextFieldDelegate> @interface idiom_ViewController ()<UITextFieldDelegate> { UITe…
关于iOS的文本框有时需要限制字数,如手机号,在UITextField的代理单纯写一个判断,在字数超过限制时,这时再想删除就删除不掉,可以在代理这样写,就解决 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (!string.length) { return YES; } if (tex…
本文转载自:你真的了解iOS代理设计模式吗? 在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数.这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识.我会通过这些方面的知识,带大家真正领略代理的奥妙.写的有点多,但都是干货,我能写下去,不知道你有没有耐心看下去.本人能力有限,如果文章中有什么问题或没有讲到的点,请帮忙指出,十分感谢! 一.iOS中消息传递方式 在iOS中有很多种消息传递方式,这里先简单介绍一下各种消息传递方式.…
/* UITextField文本输入框 */ UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 50, 275, 50)]; //设置边框形式 /* UITextBorderStyleRoundedRect 圆角形式 UITextBorderStyleLine 线条形式 UITextBorderStyleBezel 槽形式 */ textField.borderStyle = UITextBord…
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITextField : UIControl <UITextInput, NSCoding> @available(iOS 2.0, *) public class UITextField : UIControl, UITextInput, NSCoding 1.UITextField 的创建 Objective-C // 实例化 UITextField 对象 UITextField *textField =…
首先你的ViewController需要实现 UITextFieldDelegate 代理, 其次,需要字数限制的UITextField实例的代理要设置成 self(ViewController) 然后实现下列代理方法: Objective—C -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{  …
一.理解协议与代理 协议: 协议是一个方法签名的列表,在其中可以定义若干个方法.根据配置,遵守该协议的类会去实现这个协议中规定的若干个方法. 代理: 代理是一个概念,很难用一个名词去定义(如我们可以说协议其实就是一个方法列表).它更像是一种关系,我要做某一个事情,但我自己不想去做这件事,我委托其他人帮我去做这件事.这个时候,这位其他人就是我的代理. 二.协议的使用 在定义协议时,可以通过@required与@optional来配置遵守这个协议必须去实现的方法和可以选择的方法.譬如: @proto…
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField ==自己定义的textField) { NSUInteger lengthOfString = string.length; //lengthOfString的值始终为1 ; loopIndex < lengthOfStr…
本贴的例子是:有A和B两个界面,要实现的效果就是先让A跳转到B,然后B中有个颜色的参数,当B跳转到A时,把这个颜色的参数传递给A,在A中利用这个颜色改变自己界面的颜色. 第1步:在发送者(界面B)中,制定协议(在.h头文件中声明) // 协议名一般以本类的类名开头+Delegate (包含前缀) @protocol ConfigViewControllerDelegate <NSObject> // 声明协议方法,一般以类名开头(不需要前缀) - (void)changeBgColor:(UI…
先声明下面总结不是自己写的. 参考网址:http://blog.csdn.net/tskyfree/article/details/8121915 //初始化textfield并设置位置及大小   UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];   //设置边框样式,只有设置了才会显示边框样式   text.borderStyle = UITextBorderStyleRoun…