iphone--设置UITextView内边距,解决textView内容显示不全的问题

 

iphone--设置UITextView内边距

分类: Iphone 应用开发   853人阅读  评论(1)  收藏  举报

当我们因为一些需求将UITextView当成UILabel使用(为了使用UITextView自带的复制,粘贴,选择功能),这时我们只需要禁用UITextView的几个属性就行了

[cpp]  view plain copy
  1. textView.editable = NO;//不可编辑  
  2. textView.scrollEnabled = NO;//不可滚动  

这样就ok;

但是当我们在实际运用时,想计算文字的大小并设置UITextView的显示大小

[cpp]  view plain copy
  1. UIFont *font = [UIFont systemFontOfSize:14.0f]; //指定字符串的大小  
  2.   
  3. [textView setText:content];  
  4.   
  5. CGSize textSize = [content sizeWithFont:font constrainedToSize:CGSizeMake(200, 2000) lineBreakMode:UILineBreakModeCharacterWrap];  
  6.   
  7. CGRect articleframe = [articleLabel frame];  
  8. textView.size.height = textSize.height ;  
  9.   textView.size.width = textSize.width;  
  10. [textView setFrame:articleframe];  

但是通过这种方法在UILabel上使用没有任何问题,但是在UITextView是却不行,文字总是显示不全,不管你主动写多了高度给它,当文字不一样了双会显示不全或显示高度过多;

可以用下面的方法试一下

[cpp]  view plain copy
  1. [self.articleLabel setContentInset:UIEdgeInsetsMake(-10, -5, -15, -5)];//设置UITextView的内边距  
  2. [self.articleLabel setTextAlignment:NSTextAlignmentLeft];//并设置左对齐  

你可能感兴趣的:(iOS开发)