文档章节

IOS开发之UITextField的协议方法

鹿微微鹿
 鹿微微鹿
发布于 2016/04/12 21:02
字数 680
阅读 21
收藏 0


#import "AppDelegate.h"


@interface AppDelegate () <UITextFieldDelegate>


@end


@implementation AppDelegate 



- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

     _window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    

    [_window setBackgroundColor:[UIColor whiteColor]];

    

    //================================

    //1.创建textField对象

    UITextField *field = [[UITextField alloc] initWithFrame:

                          CGRectMake(100, 100, 200, 60)];

    

    [field setBorderStyle:UITextBorderStyleRoundedRect];

    [_window addSubview:field];

    

    UITextField *field2 = [[UITextField alloc] initWithFrame:

                           CGRectMake(100, 200, 200, 60)];

    [field2 setBorderStyle:UITextBorderStyleRoundedRect];

    field2.tag = 77;

    field.tag = 7;

    [_window addSubview:field2];

    //2.设置代理

    //把当前对象作为field的代理,那么必须让self的类去遵守协议实现协议方法;

    field.delegate = self;

    field2.delegate = self;

    //3.显示清除按钮

    

    [field setClearButtonMode:UITextFieldViewModeWhileEditing];

    

    

    [_window makeKeyAndVisible];

    


    return YES;

}


#pragma mark -- UITextField Delegate


//当用户点击textField弹出系统键盘上返回键的时候调用这个方法

//返回值:是否返回

//参数:就是当前委托这里的委托就是field,也就是这个方法的参数textFiled



- (BOOL)textFieldShouldReturn:(UITextField *)textField{

    

    //设置委托的背景颜色

    textField.backgroundColor = [UIColor yellowColor];

    //textField放弃第一响应者(收起键盘)

    //键盘就是第一响应者

    [textField resignFirstResponder];

    

    return YES;

}


//当文本输入框已经开始编辑的时候调用这个方法

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

    if (textField.tag == 7) {

         NSLog(@"第一个已经开始编辑");

    }

    else  {

        NSLog(@"第二个已经开始编辑");

    }

    return YES;

    

}

//当文本输入框已经停止编辑的时候调用这个方法

//两种停止编辑的情况:1.放弃第一响应者2.点击了其他输入框;

- (void)textFieldDidBeginEditing:(UITextField *)textField{

    if (textField.tag == 7) {

        NSLog(@"第一个已经停止编辑");

    }

    else {

        NSLog(@"第二个已经停止编辑");

    }

}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{

    

    return YES;

}


//返回值:是否通过点击键盘的按钮的值去改变文本的内容

//参数一:委托

//参数二:当前输入字符的位置

//参数三:当前输入的字符(字符串形式返回)

- (BOOL)textField:(UITextField *)textField

   shouldChangeCharactersInRange:(NSRange)range

     replacementString:(NSString *)string{

    

    NSLog(@"%@",NSStringFromRange(range));

    return YES;

    

}



- (void)textFieldDidEndEditing:(UITextField *)textField{

    

}

- (BOOL)textFieldShouldClear:(UITextField *)textField{

    

    return YES;

}




- (void)applicationWillResignActive:(UIApplication *)application {

    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.

    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.

}


- (void)applicationDidEnterBackground:(UIApplication *)application {

    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.

    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

}


- (void)applicationWillEnterForeground:(UIApplication *)application {

    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

}


- (void)applicationDidBecomeActive:(UIApplication *)application {

    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.

}


- (void)applicationWillTerminate:(UIApplication *)application {

    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

}


@end


© 著作权归作者所有

共有 人打赏支持
鹿微微鹿
粉丝 8
博文 116
码字总数 71882
作品 0
程序员
私信 提问
iOS开发需要了解的基础内容链接整理

https://llvm.org/svn/llvm-project/cfe/trunk/test/SemaObjC/builtinobjcnslog.m http://llvm.org/klaus/clang/commit/5faf5d31fa634e1fdb576c4d9708cd4efa5ea310/ 对Objective-C的NSObjec......

智能小松鼠
2015/01/14
0
2
UITextField 文本字段控件-IOS开发

进入本文之前建议你认真读一读我的另一篇博文:《UIControl IOS控件编程—IOS开发》http://blog.csdn.net/iukey/article/details/7300412 这样会起到事半功倍效果。 再就是用到UITextField,...

junwong
2012/03/05
1K
1
iOS与JS交互之UIWebView-JSExport协议

级别:★★☆☆☆ 标签:「iOS与JS交互」「UIWebView与JS交互」「JSExport」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),JS指前端(不...

QiShare
2018/08/31
0
0
xcode5.2 很难将textField的delegate设置为File's Owner

ios输入框被键盘挡住的解决办法, 都有提到,将UITextField的delegate设置为自身,也就是是说UITextField所在的视图要实现UITextFieldDelegate协议,但在xcode5.0里,怎么都找不到File's Owner. 大...

xiaocao000
2013/12/17
543
1
【非凡程序员】 OC第十六节课 初识IOS开发一(字符串转换与计算器)

IOS开发其实和OS X差不多,只不过输出的方法不一样,OS X是setstringvale,而IOS是settext (或者使用点语法.text) ViewController.h文件 #import <UIKit/UIKit.h> @interface ViewControl...

七月流火zsp
2015/06/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

四、RabbitMQ3.7在CentOS7下的安装

安装依赖 sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git 创建yum源 vi /etc/yum.repos.d/rabbitmq-erlang.repo [......

XuePeng77
今天
2
0
android 延长Toast的时长

示例:myToast(5000,"hello"); public void myToast(int showTime, String msg) { Toast hello = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); new CountDownTimer(......

雨焰
昨天
4
0
浅谈mybatis的日志适配模式

Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

算法之名
昨天
13
0
大数据教程(13.6)sqoop使用教程

上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识;本篇博客,博主将继续为小伙伴们分享sqoop的使用。 一、sqoop数据导入 (1)、导入关系表到HIVE ./sqoop import --connect...

em_aaron
昨天
3
0
Git cherry-pick 使用总结

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢? 这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某...

天王盖地虎626
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部