文档章节

ios 文本框变化 监听的3种方式

cicue
 cicue
发布于 2015/10/19 22:20
字数 365
阅读 878
收藏 1
点赞 0
评论 2

声明属性

@interface LoginControler() <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *userName;

@end

1,代理方式

-(void) viewDidLoad
{
    _userName.delegate = self;    //添加代理
}

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSLog(@"%@", textField.text);
    return true;    //如果NO就不会显示
}

2,通知 

这种方式在通知完后还需要释放,麻烦,用的少

-(void) viewDidLoad
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:nil];
    //addObserver:self 监听者对象
    //name 监听的改变对象的方法
    //object 监听的对象 nil 全部监听
}

-(void)textChange
{
    NSLog(@"%@", _userName.text);
}

-(void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self]; //移除监听
}

3,动态添加执行方法

-(void) viewDidLoad
{
    [_userName addTarget:self action:@selector(textChange) forControlEvents:UIControlEventEditingChanged];
    
    //forControlEvents 触发事件
}

-(void)textChange
{
    NSLog(@"%@", _userName.text);
}


switch 开关的方法

- (IBAction)loginSwith:(UISwitch *)sender
{
    if (sender.isOn ) {
        [_Test setOn:YES animated:YES];
        NSLog(@"开");
    } else {
        [_Test setOn:NO animated:YES];
        NSLog(@"关");
    }
}

UIActionSheet 底部弹出提示框

UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"拍照"otherButtonTitles:@"照相",nil];

[sheet showInView:self.view];

//initWithTitle 提示栏
//delegate 代理者
//cancelButtonTitle 取消按钮
//destructiveButtonTitle  从上往下的第一个按钮
//otherButtonTitles 第二个按钮

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    
    NSLog(@"%ld",buttonIndex);
}

UIAlertView 提示框

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"标题" message:@"内容" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

[alert show];

board 跳转方法

1,
//获取storyboard
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//获取想要的viewControl
UIViewController *control = [storyboard instantiateViewControllerWithIdentifier:@"phoneStoryboard"];
//push 跳转
[[self navigationController]pushViewController:control animated:YES];
2,
[self performSegueWithIdentifier:@"phonesugue" sender:nil];
//performSegueWithIdentifier 为连接跳转sugue的id


© 著作权归作者所有

共有 人打赏支持
cicue
粉丝 14
博文 110
码字总数 75151
作品 0
徐汇
加载中

评论(2)

阴雨音语
阴雨音语
阴雨音语
阴雨音语
解决我的问题,感谢
Xamarin iOS教程之键盘的使用和设置

Xamarin iOS教程之键盘的使用和设置 Xamarin iOS使用键盘 在文本框和文本视图中可以看到,当用户在触摸这些视图后,就会弹出键盘。本节将主要讲解键盘的输入类型定义、显示键盘时改变输入视图...

大学霸
2015/06/19
0
0
input 输入框被软键盘遮挡问题

1.安卓手机 在软键盘被弹起来的时候输入框不被遮挡,支持性良好 2.ios手机 在软键盘被弹起来的时候输入框被遮挡,体验很不好 在经过多次实验发现,ios手机输入框被弹起的瞬间是不被遮挡的,过...

爱喝水的小熊
06/06
0
0
CSS 修改 IOS 默认按钮样式

不知道大家在做移动端页面的时候有没遇到过在 IOS 端 一些按钮显示和安卓的截然不同,今天下午又有一个小伙在群里问这个问题。我记得之前我也遇到过,今天给大家分享一下怎么使用 CSS修改IOS...

VIP_web
06/26
0
0
IOS12开发者预览版第二版使用评测

     手头有一部iPhone 6s Plus,因为之前看同学和朋友们升到IOS 11后手机变得非常卡顿所以没有升级。最近偶然看到IOS 12针对旧机型做了性能优化,号称提升70%相机打开速度、50%键盘显示...

张旭乾
06/23
0
0
C++文件操作详解(ifstream、ofstream、fstream)

C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 ...

JORDANSG
2012/12/02
0
0
常见的移动端H5页面开发遇到的坑和解决办法

手机共通问题 问题一:用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经研究发现是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页字会非常小,所以苹果...

webmirror
05/02
0
0
iOS 浅谈对MVC、传值、和沙盒机制的理解

1.简述你对MVC的理解? MVC是一种架构设计,它考虑了三种对象:Model(模型对象)、View(试图对象)、Controller(试图控制器) (1)模型:负责存储、定义、操作数据 (2)视图:用来展示数...

yg101819
2015/08/21
0
0
dropbox 死掉后 IOS 7.1 应用发布替代解决方案

由于大家都知道的原因Dropbox 挂掉了,免费的 https文件分享链接没有了,广大通过 dropbox https 分享链接来发布ios应用的童鞋悲剧了 。今天就给大家支个招儿。 分析 ios 7.1 安装链接 格式 ...

LuoZhihui
2014/07/11
0
0
苹果私有API检查工具开源项目

iOS-private-api-checker 苹果iOS私有API检查工具 Developer tool to scan iOS apps for private API usage before submitting to Apple https://github.com/hustcc/iOS-private-api-checker......

小薇
2015/11/05
0
0
[转]设置 UILabel 和 UITextField 的 Padding 或 Insets

iOS 的控件,只看到 UIButton 可以设置 Padding/Insets,即按钮上文字或图片与按钮边界的间隙,对与 CSS 来说叫做 Padding,在 iOS 中叫做 Insets,UIButton 设置 Insets 相应的属性如下: ...

MrMign
2012/03/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mybatis拦截器之数据权限过滤与分页集成

需求场景 最近项目有个数据权限的业务需求,要求大致为每个单位只能查看本级单位及下属单位的数据,例如:一个集团军下属十二个旅,那么军级用户可以看到所有数据,而每个旅则只能看到本旅部...

佛系程序猿灬
6分钟前
0
0
Vue作为MVVM框架,M、V、VM分别代表什么?

<script src="vue.js"></script><div id="demo"> {{message}} <input v-model="message"></div><script> var vm = new Vue({ el: '#demo', data: { mes......

JamesView
9分钟前
0
0
SpringCloud 微服务 (十六) 服务追踪 Zipkin

问题 在服务中,有一个接口,该A接口中又调用了其他服务的B、C、D接口,出现一个请求耗时大的问题,这时候并不知道该B、C、D接口中哪个接口造成的耗时量,然后比如确定C服务接口出现的耗时量大,但...

___大侠
51分钟前
0
0
Java面试基础篇——第八篇:抽象类与接口的区别

1.抽象类 抽象类:如果一个类中包含有抽象方法,或这个类使用abstract关键字修饰,则称这个类是抽象类。 抽象方法是什么呢?抽象方法就是指用abstract关键字修饰的方法。 需要注意的是:抽象...

developlee的潇洒人生
今天
2
0
jsoup 相关资料

1.jsoup 2.Jsoup概述 3.jsoup入门 4.jsoup Java HTML Parser 1.11.3 API

IT追寻者
今天
0
0
JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
今天
0
0
【一】Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
3
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部