- 浏览: 582075 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
JYY282:
[i][/i]
Ecshop与Shopex的比较 -
qq247890212:
我也遇见这问题了,真诡异。重新下载个猫换了就好了。 太浪费时间 ...
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
From:http://www.2cto.com/kf/201111/110846.html
1.创建并初始化
创建UITextView的文件,并在.h文件中写入如下代码:
#import <UIKit/UIKit.h>
@interface TextViewController : UIViewController <UITextViewDelegate>
{
UITextView *textView;
}
@property (nonatomic, retain) UITextView *textView;
@end
在.m文件中初始化这个textview,写入代码如下:
self.textView = [[[UITextView alloc] initWithFrame:self.view.frame]autorelease]; //初始化大小并自动释放
self.textView.textColor = [UIColor blackColor];//设置textview里面的字体颜色
self.textView.font = [UIFont fontWithName:@"Arial" size:18.0];//设置字体名字和字体大小
self.textView.delegate = self;//设置它的委托方法
self.textView.backgroundColor = [UIColor whiteColor];//设置它的背景颜色
self.textView.text = @"Now is the time for all good developers tocome to serve their country.\n\nNow is the time for all good developers to cometo serve their country.";//设置它显示的内容
self.textView.returnKeyType = UIReturnKeyDefault;//返回键的类型
self.textView.keyboardType = UIKeyboardTypeDefault;//键盘类型
self.textView.scrollEnabled = YES;//是否可以拖动
self.textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;//自适应高度
[self.view addSubview: self.textView];//加入到整个页面中
2. UITextView退出键盘的几种方式
因为你点击UITextView会出现键盘,如果你退出键盘,有如下几种方式:
(1)如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate。
代码如下:
- (void)textViewDidBeginEditing:(UITextView *)textView {
UIBarButtonItem *done = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(leaveEditMode)] autorelease];
self.navigationItem.rightBarButtonItem = done;
}
- (void)textViewDidEndEditing:(UITextView *)textView {
self.navigationItem.rightBarButtonItem = nil;
}
- (void)leaveEditMode {
[self.textView resignFirstResponder];
}
(2)如果你的textview里不用回车键,可以把回车键当做退出键盘的响应键。
代码如下:
#pragma mark - UITextView Delegate Methods
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
这样无论你是使用电脑键盘上的回车键还是使用弹出键盘里的return键都可以达到退出键盘的效果。
(3)还有你也可以自定义其他加载键盘上面用来退出,比如在弹出的键盘上面加一个view来放置退出键盘的Done按钮。
代码如下:
UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];
[topView setBarStyle:UIBarStyleBlack];
UIBarButtonItem * helloButton = [[UIBarButtonItem alloc]initWithTitle:@"Hello" style:UIBarButtonItemStyleBordered target:self action:nil];
UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)];
NSArray * buttonsArray = [NSArray arrayWithObjects:helloButton,btnSpace,doneButton,nil];
[doneButton release];
[btnSpace release];
[helloButton release];
[topView setItems:buttonsArray];
[tvTextView setInputAccessoryView:topView];
-(IBAction)dismissKeyBoard
{
[tvTextView resignFirstResponder];
}
(4)设置UITextView圆角问题
做法是在#import QuartzCore/QuartzCore.h 后,便能調用[textView.layer setCornerRadius:10]; 來把UITextView 设定圓角
(5)UITextView根据文本大小自适应高度
通过实现文本字数来确定高度,如下:
NSString * desc = @"Description it is a test font, and don't become angry for which i use to do here.Now here is a very nice party from american or not!";
CGSize size = [desc sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(240, 2000) lineBreakMode:UILineBreakModeWordWrap];
只有UILabel需要定义的numberoflines为0,即不做行数的限制。如下:
[label setNumberOfLines:0];
[label setFrame:CGRectMake(40, 135, 240, size.height+10)];
[label setText:desc];
(6)UITextView自定选择文字后的菜单
在ViewDidLoad中加入:
UIMenuItem *menuItem = [[UIMenuItem alloc]initWithTitle:@"分享到新浪微博" action:@selector(changeColor:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:[NSArray arrayWithObject:menuItem]];
[menuItem release];
当然上面那个@selector里面的changeColor方法还是自己写吧,也就是说点击了我们自定义的菜单项后会触发的方法。
然后还得在代码里加上一个方法:
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if(action ==@selector(changeColor:))
{
if(textView.selectedRange.length>0)
return YES;
}
return NO;
}
实现后如下图:
今天的UITextView就讲到这里,主要讲了UITextView的初始化和开发中会遇到的一些问题和自定义等问题。谢谢大家支持哈。
发表评论
-
Phone应用开发之十二:使用ShareKit一键分享到Facebook,Twitter等平台
2012-02-12 18:27 0ShareKit是iPhone开发的第三方接口,允许你一 ... -
iPhone应用开发之十一:常用的三种动画表现效果
2012-02-12 18:24 0From:http://www.2cto.com/kf/201 ... -
iphone应用开发之十:发送短信/邮件/打电话
2012-02-20 22:00 948From:http://www.2cto.com/kf/201 ... -
iPhone应用开发之六:UITableView的详细讲解(一)
2012-02-12 18:02 0From:http://www.2cto.com/kf/201 ... -
iPhone应用开发之五: UIScrollView的详细讲解
2012-02-26 17:45 1011From:http://www.2cto.com/kf/201 ... -
iPhone应用开发之四:UIImageView和UIWebView的详细讲解
2012-02-27 09:14 1334From: http://www.2cto.com/kf/20 ... -
iPhone应用开发之三:UILable和UITextField的详细讲解
2012-02-25 17:41 1140From:http://www.2cto.com/kf/201 ... -
iPhone应用开发之一:窗口,视图,视图控制器和UIKit基础
2012-02-29 09:12 1029From:http://www.2cto.com/kf/201 ... -
iPhone操作队列 VS Java线程池
2012-02-24 20:14 730From:http://www.2cto.com/kf ... -
iPhone开发的门槛和成本及线路图
2012-02-12 15:42 0From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(11)--- 多线程的使用与注意事项
2012-02-25 17:40 1019From:http://www.2cto.com/kf/ ... -
iPhone开发进阶(10)--- 在程序中使用GPS
2012-02-25 17:41 909From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(9)--- 用SQLite管理数据库
2012-02-27 09:10 904From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(8)--- 检测屏幕触摸事件
2012-02-25 17:39 939From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(7)--- 利用ModalViewController切换View
2012-02-27 09:09 1032From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(6)--- 编程定制UIButton
2012-02-12 15:29 0From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(5) --- 编程定制UIViewController
2012-02-12 15:26 0From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(4) --- 使用Makefile自动编译iPhone程序
2012-02-12 15:25 0From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(3) --- iPhone应用程序的启动过程
2012-02-12 15:15 0From:http://www.2cto.com/kf/201 ... -
iPhone开发进阶(2) --- iPhone应用程序/项目的构成
2012-02-26 17:43 997开发iPhone程序,首先接触到的不是源代码,而是项目工 ...
相关推荐
在iOS应用开发中,iPhone平台提供了丰富的用户界面控件,使得开发者可以构建出美观且功能齐全的应用。"iphone开发控件的demo"是专为初学者设计的学习资源,包含了多种常用控件的示例代码,帮助开发者快速掌握控件的...
"Iphone控件Demo大全"提供了一系列实用的示例,旨在帮助新手快速熟悉并掌握iPhone应用开发中的常见控件。以下是对这些控件及其用法的详细讲解: 1. UIButton:按钮是iOS应用中最基础的交互元素,用于触发某些事件或...
`UITextView`是iOS开发中一个非常重要的组件,主要用于显示和编辑多行文本。它在用户界面设计中扮演着文本输入和展示的核心角色,适用于创建日记应用、文本编辑器、评论输入框等场景。在本篇文章中,我们将深入探讨`...
UITextView +占位符 UITextView缺少一个占位符。 安装 使用 。 pod 'UITextView+Placeholder' 用法 导入动态框架: 例如,如果您将CocoaPods与use_frameworks!一起使用use_frameworks! 旗。 @import UITextView_...
在iOS开发中,`UITextView` 是一个常用的用于显示和编辑多行文本的视图,但默认情况下,它并未提供直接限制用户输入字数的功能。为了实现这一需求,开发者需要自定义并封装一个功能,使得`UITextView`可以根据设定的...
在iOS开发中,`UITextField`和`UITextView`是两种常用的文本输入控件。`UITextField`通常用于单行文本输入,而`UITextView`则适用于多行文本输入。然而,在某些场景下,开发者可能希望`UITextView`具备`UITextField`...
在iOS应用开发中,我们经常会遇到用户在使用`UITextView`进行文字输入时,由于键盘弹出遮挡了部分屏幕内容的问题。为了提供更好的用户体验,开发者可以实现一个遮罩层来覆盖键盘,使得用户在输入时依然能清晰看到...
在iOS应用开发中,`UITextView` 是一个非常重要的组件,用于展示和编辑多行文本。这个控件允许用户输入、查看以及选择文本,适用于创建日记应用、笔记应用或者任何需要用户输入较长文本的场景。在本文中,我们将深入...
在iOS开发中,`UITextView` 是一个非常重要的控件,用于显示和编辑多行文本。这个控件在很多场景下都有广泛的应用,比如输入备注、编辑日记等。本示例(Demo)主要关注如何对`UITextView`进行深度定制,特别是关于...
UITextView也可以直接使用placeholder和placeholderColor属性大大节省开发的时间,让开发变得更简单。 一,使用步骤 1,导入XMTextView文件夹 2,引用#import "XMTextView.h"头文件 3,使用方法: // XMTextView的...
在iOS开发中,`UITextView` 是一个常用的控件,用于显示和编辑多行文本。在用户输入过程中,文本视图的高度可能需要根据输入内容的多少动态调整,以避免内容溢出。`TextViewHighlyAdapted` 项目就是针对这个需求提供...
ICTextViews 伊万诺·比伦奇( )描述ICTextView是UITextView子类,具有对字符串/正则表达式搜索和突出显示的优化支持。 它还具有对iOS 7+的特定改进和对标准UITextView错误修正。产品特点支持字符串文字和正则...
在iOS应用开发中,iPhone应用程序的设计与实现离不开各种控件的使用。这些控件是构建用户界面的基础元素,使得用户可以与应用进行交互。本文将深入探讨iPhone开发中常见的控件及其测试方法。 首先,我们要了解的...
在iOS应用开发中,`UITextView` 是一个用于展示多行可编辑文本的视图,它支持用户输入、格式化和编辑文本。本教程将详细讲解如何使用Swift对`UITextView`进行简单封装,以便更好地适应项目的特定需求,提高代码复用...
WBTextKitTools简介:一个基于TextKit的自定义UITextView控件,支持自定义静态和GIF动态表情,支持选择复制粘贴表情,支持输入时直接显示表情。使用:请下载后,参照例子使用。注意:1、IOS7以上才能使用;2、GIF的...
在iOS应用开发中,`UITextView` 是一个至关重要的组件,尤其对于文本输入和展示功能。`UITextView` 是苹果的UIKit框架中的一个类,它允许用户在界面上输入、编辑和查看多行文本。在Xcode项目中,`UITextView....
在iOS应用开发中,控件(Controls)是构建用户界面(UI)的关键元素。它们允许用户与应用程序进行交互,提供视觉反馈,并执行特定的操作。在这个主题“ios应用源码之控件的使用 2018128”中,我们将深入探讨iOS中的...
《UICatalog苹果控件源码大全》是一个深入学习iOS应用开发的重要资源,它包含了所有主要的用户界面(UI)控件的示例代码。这个压缩包提供了完整的源码,让开发者可以直观地理解并实践如何在Objective-C或Swift中创建...