UITextView的一些知识
来源:互联网 发布:淘宝店心得 编辑:程序博客网 时间:2024/05/20 19:46
今天朋友问了一个关于textview的问题,我下午也用到了textview,接触的比较多,突然就萌生了写一下的想法,哈哈,第一次写,终于要跨出这一步了.
1.朋友给我发的图,输入文本居中,而不是从最上方开始?
如下图:
如果你查看一下UITextView的定义,你就会看到这样一行代码
NS_CLASS_AVAILABLE_IOS(2_0) @interface UITextView : UIScrollView <UITextInput>
由于textview是继承scrollview的,而iOS7增加了一个属性automaticallyAdjustsScrollViewInsets,会自动下压一个导航条的高度,所以我们需判断一下iOS版本并设置一下这个属性为NO不让它自动布局,添加以下代码
if ([[[UIDevice currentDevice]systemVersion]floatValue] >= 7.0) { self.automaticallyAdjustsScrollViewInsets = NO; }
2.placeholder水印占位字
当然textview是没有的,但可以通过代码实现大致效果,需要在textview的代理方法中实现
#pragma mark --textView delegate-(void)textViewDidBeginEditing:(UITextView *)textView{ if ([textView.text isEqualToString:@"请在这里写"]) { textView.text = nil; textView.textColor = [UIColor lightGrayColor]; }}-(void)textViewDidEndEditing:(UITextView *)textView{ if ([textView.text isEqualToString:@""]) { textView.text = @"请在这里写"; textView.textColor = [UIColor lightGrayColor]; return; } //保存,写在这里 _textStr = textView.text;}
3.字数限制,也是代理方法
//宏定义最大字数#define kWordLimit 200-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ NSString * str = textView.text;/* //这段可写可不写,以给用户提示下 if (str.length == kWordLimit) { [SVProgressHUD showInfoWithStatus:@"亲,您已经写200字了哟!"]; } */ //根据字符串长度判断 if (str.length > kWordLimit) { //字符串截取方法,用户输入字数达到限制后,无法再往里添加 textView.text = [textView.text substringToIndex:kWordLimit]; return NO; } return YES;}//这里主要是处理联想字-(void)textViewDidChange:(UITextView *)textView{ if (textView.text.length > kWordLimit) { textView.text = [textView.text substringToIndex:kWordLimit]; }}
4.边框
textview默认是没有边框的颜色的,所以位置不明显,看着很别扭,我们一般都要设置一下,设置边框我常用的有两种方法:
一 是 使用layer的属性 二 是放张背景图
这两种方法,可以直接写在textview所在viewcontroller中,也可以自定义一个继承于UITextView的子类,在drawRect方法中实现,(代码类似,不分开写了)如下
- (void)drawRect:(CGRect)rect { //方法一 图片 [[UIImage imageNamed:@"check"] drawInRect:rect blendMode:kCGBlendModeNormal alpha:0.8]; //方法二 layer self.layer.borderColor = [UIColor yellowColor].CGColor;//边框颜色 self.layer.borderWidth = 1;//边框宽度(别忘记宽度呀,不设置显示不出来的) //如需要也可以设置圆角矩形 self.layer.cornerRadius = 10; self.layer.masksToBounds = YES;}
0 0
- UITextView的一些知识
- UITextView的一些技巧
- UITextView的一些操作
- UITextView的一些技巧
- UITextView 的一些用途
- UITextView的一些使用技巧
- keyboardType键盘和APP里有多少键盘的样式和UItextView和UitextField的一些知识
- IOS中UITextView控件的一些使用方法
- IOS中UITextView控件的一些使用方法
- uitextview 相关知识
- IOS中UITextView控件的一些使用方…
- iOS中使用UITextView时候的一些小技巧
- .net的一些知识
- 环境变量的一些知识
- 内存的一些知识
- 一些java的知识
- XML的一些知识
- foreach的一些知识
- java程序模拟QQ空间登录 - 并模拟刷说说的赞
- Jackson 基础使用
- quick-3.5 ActionTimeline的setLastFrameCallFunc调用会崩溃问题
- 逊哥dp专题 总结(普通dp,斜率优化dp,数位dp)
- Unity 读取、写入自定义路径文件,调用System.Windows.Forms
- UITextView的一些知识
- GeoHash核心原理解析
- C# 简单时间操作
- 一个在unity3d中使用Excel做配置的解决方案
- Android 权限大全
- C++与C#网络传输中的编码转换
- USACO-Section 1.5 Number Triangles(DP)
- android 学习笔记 服务的基本用法
- iOS手势