您的位置:首页 > 产品设计 > UI/UE

IOS学习之——UITextView

2016-05-30 09:45 381 查看
// 初始化输入框并设置位置和大小

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 10, 300, 180)];

// 设置预设文本

textView.text = @“文本内容“;

// 设置文本字体

textView.font = [UIFont fontWithName:@”Arial” size:16.5f];

// 设置文本颜色

textView.textColor = [UIColor colorWithRed:51/255.0f green:51/255.0f blue:51/255.0f alpha:1.0f];

// 设置文本框背景颜色

textView.backgroundColor = [UIColor colorWithRed:254/255.0f green:254/255.0f blue:254/255.0f alpha:1.0f];

// 设置文本对齐方式

textView.textAlignment = NSTextAlignmentLeft;

//UITextView(使用须遵守UITextViewDelegate协议)

UITextView *textView = [UITextView new];

//设置是否可以编辑

textView.editable = YES;

//文本大小自适应

textView.AdjustToFit = YES;

//设置代理

textView.delegate = self;

//设置字体

textView.font = [UIFont systemFontOfSize:30];

//设置是否可以滚动

//UITextView继承于UIScrollView

textView.scrollEnabled = NO;

//UITextView 下得键盘中return 表示换行

[self.view addSubview:textView];

//消除影响(iOS7 如果把UIscrollView 加在导航中一般内容会向下走64)

self.automaticallyAdjustsScrollViewInsets = NO;

}

// iOS7中文本对齐方式有以下几种:

// enum {

// NSTextAlignmentLeft = 0, 左对齐,默认

// NSTextAlignmentCenter = 1, 居中对齐

// NSTextAlignmentRight = 2, 右对齐

// NSTextAlignmentJustified = 3, 在一个段落的最后一行自然对齐

// NSTextAlignmentNatural = 4, 默认对齐方式

// } NSTextAlignment;

// 设置自动纠错方式

textView.autocorrectionType = UITextAutocorrectionTypeNo;

// 自动纠错方式有以下几种:

// enum {

// UITextAutocorrectionTypeDefault, 默认

// UITextAutocorrectionTypeNo, 不自动纠错

// UITextAutocorrectionTypeYes, 自动纠错

// } UITextAutocorrectionType;

// 设置自动大写方式

textView.autocapitalizationType = UITextAutocapitalizationTypeNone;

// 自动大写方式有以下几种:

// enum {

// UITextAutocapitalizationTypeNone, 不自动大写

// UITextAutocapitalizationTypeWords, 单词首字母大写

// UITextAutocapitalizationTypeSentences, 句子的首字母大写

// UITextAutocapitalizationTypeAllCharacters, 所有字母都大写

// } UITextAutocapitalizationType;

// 设置键盘的样式

textView.keyboardType = UIKeyboardTypeDefault;

// 键盘样式有以下几种:

// enum {

// UIKeyboardTypeDefault, 默认键盘,支持所有字符

// UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘

// UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符

// UIKeyboardTypeURL, 只支持URL字符的URL键盘,支持.com按钮

// UIKeyboardTypeNumberPad, 数字键盘

// UIKeyboardTypePhonePad, 电话键盘

// UIKeyboardTypeNamePhonePad, 支持输入人名的电话键盘

// UIKeyboardTypeEmailAddress, 电子邮件键盘

// UIKeyboardTypeDecimalPad, 有数字和小数点的数字键盘

// UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符

// UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,

// } UIKeyboardType;

// 设置return键样式

textView.returnKeyType = UIReturnKeyDefault;

// return键有以下几种样式:

// enum {

// UIReturnKeyDefault, 默认,灰色按钮,标有Return

// UIReturnKeyGo, 标有Go的蓝色按钮

// UIReturnKeyGoogle, 标有Google的蓝色按钮,用于搜索

// UIReturnKeyJoin, 标有Join的蓝色按钮

// UIReturnKeyNext, 标有Next的蓝色按钮

// UIReturnKeyRoute, 标有Route的蓝色按钮

// UIReturnKeySearch, 标有Search的蓝色按钮

// UIReturnKeySend, 标有Send的蓝色按钮

// UIReturnKeyYahoo, 标有Yahoo的蓝色按钮

// UIReturnKeyYahoo, 标有Yahoo的蓝色按钮

// UIReturnKeyEmergencyCall, 紧急呼叫按钮

// } UIReturnKeyType;

// 设置是否可以拖动

textView.scrollEnabled = YES;

// 设置代理

textView.delegate = self;

// 自定义文本框placeholder

tip = [[UILabel alloc] initWithFrame:CGRectMake(16, 14, 320, 25)];

tip.text = @”您的意见是我们前进的最大动力,谢谢!”;

tip.font = [UIFont fontWithName:@”Arial” size:16.5f];

tip.backgroundColor = [UIColor clearColor];

tip.enabled = NO;

// 自定义文本框字数统计

count = [[UILabel alloc] initWithFrame:CGRectMake(270, 170, 35, 20)];

count.text = @”240”;

count.textAlignment = NSTextAlignmentRight;

count.font = [UIFont fontWithName:@”Arial” size:15.0f];

count.backgroundColor = [UIColor clearColor];

count.enabled = NO;

// 显示文本框及相关控件

[self.view addSubview:feedback];

[self.view addSubview:tip];

[self.view addSubview:count];

// 限制输入文本长度

- (BOOL)textView:(UITextView )textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString )text

{

if (range.location < 240)

{

return YES;

} else {

return NO;

}

}

// 自定义文本框placeholder

- (void)textViewDidChange:(UITextView *)textView

{

count.text = [NSString stringWithFormat:@”%d”, 240 - feedback.text.length];

if (textView.text.length == 0)

{

tip.text = @”您的意见是我们前进的最大动力,谢谢!”;

} else {

tip.text = @”“;

}

}

pragma mark - UITextViewDelegate协议中的方法

//将要进入编辑模式

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{return YES;}

//已经进入编辑模式

- (void)textViewDidBeginEditing:(UITextView *)textView{}

//将要结束/退出编辑模式

- (BOOL)textViewShouldEndEditing:(UITextView *)textView{return YES;}

//已经结束/退出编辑模式

- (void)textViewDidEndEditing:(UITextView *)textView{}

//当textView的内容发生改变的时候调用

- (void)textViewDidChange:(UITextView *)textView{}

//选中textView 或者输入内容的时候调用

- (void)textViewDidChangeSelection:(UITextView *)textView{}

//从键盘上将要输入到textView 的时候调用

//rangge 光标的位置

//text 将要输入的内容

//返回YES 可以输入到textView中 NO不能

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: