UITextView内容垂直居中

转载 2016年06月01日 15:51:38

UITextView的居中属性,只能使文字顶部居中,不能使内容垂直居中,达不到UITextFiled的居中的效果;因此想要使 UITextVIew的内容垂直居中,可以通过KVC的方式监听text或者contentSize属性,进行偏移,其实很简单,不了解KVC的可以看看我的另外一篇关于kvc的文章,(kvc是一个非常好用的机制,以后肯定会用到,建议了解一下)


代码如下:

//注册 监听text属性的事件

 [myTextView addObserver:selfforKeyPath:@"contentSize"options:NSKeyValueObservingOptionNewcontext:nil];//也可以监听contentSize属性


//接收处理

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 

{

    UITextView *mTrasView = object;

    

    CGFloat topCorrect = ([mTextbounds].size.height - [mTextcontentSize].height);

    

    topCorrect = (topCorrect <0.0 ?0.0 : topCorrect);

    

    mText.contentOffset = (CGPoint){.x =0, .y = -topCorrect/2};


}

当然,别忘了先设置一下水平居中属性。

//

//如何做到输入时动态改变:也许可以在

- (void)textViewDidChange:(UITextView *)textView;进行上述的偏移处理,同时可以加上动画效果,以便达到UITextFiled,居中输入的动态效果,此处只提供一个思路,其方法进行过验证,可行。但细节上需要你自己根据情况改变。

html中表格table的内容水平和垂直居中显示

html中表格table的内容居中显示 在CSS样式文件中指定#class td /*设置表格文字左右和上下居中对齐*/ { vertical-align: middle; t...
  • xujing19920814
  • xujing19920814
  • 2017年03月27日 13:16
  • 12839

块级元素文本垂直居中方法

块级元素的居中有如下解决方案:一、使用line-height样式 div { width: 300px; height: 200px; back...
  • H_O_L_Y
  • H_O_L_Y
  • 2016年06月28日 20:00
  • 1175

css 文本和div垂直居中方法汇总

本文总结了垂直居中的各种方法,包括单行文本垂直居中、多行文本垂直居中以及div垂直居中,列出了多种情况对应的方法。读者可以根据实际需要选择合适的方法。...
  • u014607184
  • u014607184
  • 2016年07月04日 14:10
  • 22382

IOS UITextView内容垂直居中方法

- (void)contentSizeToFit { //先判断一下有没有文字(没文字就没必要设置居中了) if([self.textView.text length]>0) ...
  • yxl123546
  • yxl123546
  • 2017年07月19日 10:03
  • 377

如何让div中的内容垂直居中

如何让div中的内容垂直居中       Line-height效果演示            虽然Div布局已经基本上取代了表格布局,但表格布局和Div布局仍然各有千秋,互...
  • comeonJ
  • comeonJ
  • 2011年10月13日 10:31
  • 658

如何让div中的内容垂直居中

要让div中的内容垂直居中,无非有以下几种方法,等我一一列举: 一、行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比...
  • killcwd
  • killcwd
  • 2015年02月10日 14:57
  • 294

div中的内容-图片img垂直居中的五种方法

一、行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如:p { height:30px; line-height:3...
  • huayushuangfei
  • huayushuangfei
  • 2017年10月25日 09:22
  • 134

POI 单元格垂直居中,相同内容的单元格合并

XSSFCellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);...
  • qiu_11
  • qiu_11
  • 2014年04月23日 10:40
  • 9903

html中表格table的内容水平和垂直居中显示

html中表格table的内容居中显示 在CSS样式文件中指定#class td /*设置表格文字左右和上下居中对齐*/ { vertical-align: middle; t...
  • xujing19920814
  • xujing19920814
  • 2017年03月27日 13:16
  • 12839

CSS相邻选择器(>)选择子元素而不包含该子元素的子元素,及如何让DIV中的内容垂直居中

1、CSS 相邻选择器“>”,其作用是选择某元素子元素,而不包含该子元素的子元素 #stuList>div { ...
  • aspnet2002web
  • aspnet2002web
  • 2012年05月25日 00:25
  • 9836
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITextView内容垂直居中
举报原因:
原因补充:

(最多只允许输入30个字)