KVO---视图间数据的传递:标签显示输入的内容【多个视图中】
来源:互联网 发布:房地产大数据公司排名 编辑:程序博客网 时间:2024/04/29 22:37
RootViewController.m
#import "ModalViewController.h"@interface RootViewController ()@end@implementation RootViewController { ModalViewController *modalCtrl; }- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor redColor]; UILabel *textLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 20)]; textLabel.tag = 100; textLabel.backgroundColor = [UIColor orangeColor]; [self.view addSubview:textLabel]; UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(50, 150, 100, 30); [button setTitle:@"打开" forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; modalCtrl = [[ModalViewController alloc] init]; //监听modal控制器的text属性 [modalCtrl addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew context:NULL]; }//KVO触发方法- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([keyPath isEqualToString:@"text"]) { NSString *text = [change objectForKey:@"new"]; UILabel *label = (UILabel *)[self.view viewWithTag:100]; label.text = text; } }- (void)buttonAction{ [self presentViewController:modalCtrl animated:YES completion:NULL]; }ModalViewController.m
@interface ModalViewController (){ NSString *_text;}@end@implementation ModalViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor greenColor]; UITextField *textFiled = [[UITextField alloc] initWithFrame:CGRectMake(50, 60, 160, 30)]; textFiled.tag = 100; textFiled.delegate = self; textFiled.borderStyle = UITextBorderStyleRoundedRect; [self.view addSubview:textFiled]; //显示键盘 [textFiled becomeFirstResponder]; UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(50, 150, 100, 30); [button setTitle:@"返回" forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; }//按钮点击事件- (void)buttonAction{ [self dismissViewControllerAnimated:YES completion:NULL]; // UITextField *field = (UITextField *)[self.view viewWithTag:100];// NSString *text = field.text; // self.text = text; }#pragma UITextField delegate//点击return调用的协议方法- (BOOL)textFieldShouldReturn:(UITextField *)textField { //收起键盘 [textField resignFirstResponder]; return YES; }- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSLog(@"string:%@",string);// string 是正在输入的最后一个字符 NSLog(@"%@",textField.text);// textField.text 是输入的内容的前段字符(最后一个字符不包括)// UITextField *field = (UITextField *)[self.view viewWithTag:100];// NSString *text = field.text; NSString *str = [NSString stringWithFormat:@"%@%@",textField.text,string]; NSLog(@"str:%@",str); self.text = str; return YES; }
0 0
- KVO---视图间数据的传递:标签显示输入的内容【多个视图中】
- 通知---视图间数据的传递:标签显示输入的内容【多个视图中】
- 单例---视图间数据的传递:标签显示输入的内容【多个视图中】
- 代理---视图间数据的传递:标签显示输入的内容【多个视图中】
- 标签显示输入的内容【同一个视图中】
- Dreamweaver设计视图中输入多个空格的方法
- navigationController的父视图与子视图之间数据传递
- 多视图的参数传递
- 多个视图控制器的视图切换
- 视图之间的数据传递 ios
- 视图之间的数据传递 ios
- 视图控制器ViewControllers之间的数据传递
- MVC控制器和视图间的数据传递
- MFC单文档多视图之间的数据传递
- 用代码向视图控制器里输入想要的表格单元格内容( 另一种方法从nib文件中显示想要的内容 ) 副本
- 初识MFC文档视图程序中多视图间的数据交互
- 初识MFC文档视图程序中多视图间的数据交互
- 视图的内容模式
- vs编译项目更新dll
- 程序员的瑞士军刀----Python
- MVC4使用Bundling,CSS中图片路径问题
- android浏览器研究-下载
- 3分钟为你的应用添加声波通讯功能
- KVO---视图间数据的传递:标签显示输入的内容【多个视图中】
- 高斯消去法,列主元高斯法,Doolittle分解法C++程序,解方程组
- Java文件操作大全
- git中文教程
- hdu 4268 Alice and Bob(multiset|线段树)
- 【高德地图开发】---配置工程
- android浏览器研究-回退和前进
- 杭电OJ(HDOJ)1019题:求多个整数的最小公倍数(数论)
- XML学习笔记(二):XML规范:DTD详解