iPhone开发【十六】实现点击一个UIImageView时打开键盘
来源:互联网 发布:恢复数据多少钱 编辑:程序博客网 时间:2024/04/20 04:44
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8230658 作者:张燕广
昨天发的一个帖子:http://bbs.csdn.net/topics/390295120?page=1#post-393027319
很多人不理解这样的需求,但是确实存在,具体就不细说了。
同样的需求,做Android客户端时在没有文本框时也可以通过inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);调出系统键盘。
但是,IOS中貌似没有这样的接口,所以可以采用“隐藏文本框”的方式,调出系统键盘,具体实现如下:
1、在ViewController.xib上放置一个ImageView和一个UITextField(代码中将其设置为隐藏),如下:
2、ViewController.h如下:
//// ViewController.h// showKeyBoard//// Created by Zhang Yanguang on 12-11-27.// Copyright (c) 2012年 MyCompanyName. All rights reserved.//#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UITextFieldDelegate>{ BOOL hasOpenKeyBoard;//是否打开键盘}@property(strong,nonatomic)IBOutlet UIImageView *imgView;@property(strong,nonatomic)IBOutlet UITextField *textField;-(IBAction)showKeyBoard:(id)sender;@end
3、ViewController.m如下:
//// ViewController.m// showKeyBoard//// Created by Zhang Yanguang on 12-11-27.// Copyright (c) 2012年 MyCompanyName. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController@synthesize imgView;@synthesize textField;- (void)viewDidLoad{ [super viewDidLoad];// Do any additional setup after loading the view, typically from a nib. //隐藏文本框 textField.hidden = YES; //设置代理 textField.delegate = self; hasOpenKeyBoard = false;}- (void)viewDidUnload{ [super viewDidUnload]; // Release any retained subviews of the main view.}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);}-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"touchesBegan..."); //[imgView becomeFirstResponder]; if(!hasOpenKeyBoard){ [textField becomeFirstResponder]; }else{ [textField resignFirstResponder]; } hasOpenKeyBoard=!hasOpenKeyBoard;}#pragma mark UITextFieldDelegate Methods- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSLog(@"string=%@",string); return YES;}@end
方法shouldChangeCharactersInRange中可以监听到键盘输入。
4、效果如下:
- iPhone开发【十六】实现点击一个UIImageView时打开键盘
- iPhone开发【十六】实现点击一个UIImageView时打开键盘
- iphone 让一个UIImageView响应点击事件
- iphone开发笔记:为UIImageView添加点击事件
- IPHONE应用开发 - 打开和关闭键盘
- iphone--UIImageView响应点击事件
- Iphone开发——UIImageView实现火焰…
- [iphone开发]UIImageView常用操作
- UIImageView 添加手势实现点击
- iphone开发关闭键盘
- iphone开发:键盘事件
- iphone开发 UIImageView制作简单动画
- 让一个UIImageView响应点击事件
- 让一个UIImageView响应点击事件
- 封装一个UIImageView的点击事件
- iPhone开发教程之利用 UIImageView 实现全屏动画的代码例子
- UIImageView iPhone中用手势实现图片操作
- iOS7开发:为UIImageView添加点击事件
- 舌尖上的
- 去掉suse里ls默认显示隐藏文件的特性
- jdbc连接池
- Hibernate查询数据表char类型字段只返回一个字符
- Oracle 用SqlPlus 连接远程数据库以及导入导出表
- iPhone开发【十六】实现点击一个UIImageView时打开键盘
- 程序员编程艺术:第七章、求连续子数组的最大和
- 你未必知道的CSS故事:揭开leading的面纱
- 文件存储
- PreferenceScreen
- 程序员编程艺术:第八章、从头至尾漫谈虚函数
- 关于uboot如何找内核,内核如何找根文件系统的个人见解
- ip地址格式可以有前置0吗
- 创建iOS单元测试