iPhone控件之UITextView
2012-03-13 13:17
302 查看
// // UITestViewController.h // UITest // #import <UIKit/UIKit.h> @interface UITestViewController : UIViewController <UITextViewDelegate> { } @end // // UITestViewController.m // UITest // #import "UITestViewController.h" UIScrollView *myScrollView; UITextView *myTextView; @implementation UITestViewController -(void)buttonClick:(id)sender { [myTextView resignFirstResponder]; } - (void)viewDidLoad { [super viewDidLoad]; CGRect viewRect = [self.view bounds]; myScrollView = [[UIScrollView alloc] initWithFrame:viewRect]; myScrollView.contentSize = viewRect.size; [self.view addSubview:myScrollView]; CGRect buttonFrame = CGRectMake(10,10,60,32); UIButton *keyboardToggle = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [keyboardToggle setTitle:@"hide" forState:UIControlStateNormal]; [keyboardToggle addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside]; keyboardToggle.frame = buttonFrame; [myScrollView addSubview:keyboardToggle]; CGRect textRect = CGRectMake(10,60,300,200); myTextView = [[UITextView alloc] initWithFrame:textRect]; myTextView.font = [UIFont systemFontOfSize:22.0]; myTextView.keyboardType = UIKeyboardTypeDefault; myTextView.returnKeyType = UIReturnKeyGo; //uncomment to enable data detectors //myTextView.text = @"this is a link: http://google.com "; //myTextView.dataDetectorTypes = UIDataDetectorTypeAll; //myTextView.enabled = NO; myTextView.delegate = self; [myScrollView addSubview:myTextView]; [myTextView release]; [myScrollView release]; } - (void)textViewDidBeginEditing:(UITextView *)textView { float keyboardHeight; if ([UIDevice currentDevice].orientation == UIDeviceOrientationPortrait | UIDeviceOrientationPortraitUpsideDown) keyboardHeight = 216.0; else keyboardHeight = 162.0; CGRect textViewRect = textView.frame; float textViewBottom = textViewRect.origin.y + textViewRect.size.height; CGRect viewRect = [myScrollView bounds]; float keyboardTop = viewRect.size.height-keyboardHeight; float scrollOffset = fabs(textViewBottom - keyboardTop); [myScrollView setContentOffset:CGPointMake(0, scrollOffset) animated:YES]; } - (void)textViewDidEndEditing:(UITextView *)textView { [myScrollView setContentOffset:CGPointMake(0, 0) animated:YES]; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } - (void)viewDidUnload { // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)dealloc { [super dealloc]; } @end 一种简单的按回车键后,键盘弹起的操作,实现UITextViewDelegate的下属方法:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if ([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES; }
相关文章推荐
- 转载iphone 应用开发之二:UITextView控件的详细讲解
- 转载iphone 应用开发之二:UITextView控件的详细讲解
- 【iphone应用开发】iphone 应用开发之二:UITextView控件的详细讲解
- iPhone开发之UITextView控件使用详解
- 【iphone应用开发】iphone 应用开发之二:UITextView控件的详细讲解
- 我的iphone开发学习笔记(二)使用UITextView, UITextField 和UIButton控件
- iphone打开文本视图中的超连接显示在网页视图中。opening links in a UITextView in a web view
- UITextView控件的用法详解
- android仿iPhone滚轮控件实现及源码分析(二)
- iPhone像素点和常用控件尺寸
- 封装自己的控件库:iPhone静态库的应用
- iPhone iPad 各种控件默认高度
- Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(下)
- UITextView 控件-IOS开发
- iPhone控件之UIAlertView
- iPhone控件之UIWebView
- Iphone 关于UITextView 限制单行的解决办法。。
- iPhone iPad 各种控件默认高度
- iphone 常用控件列表
- android仿iPhone滚轮控件实现及源码分析(一)