UITextView内容垂直居中
2016-06-01 15:51
369 查看
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,居中输入的动态效果,此处只提供一个思路,其方法进行过验证,可行。但细节上需要你自己根据情况改变。
代码如下:
//注册 监听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,居中输入的动态效果,此处只提供一个思路,其方法进行过验证,可行。但细节上需要你自己根据情况改变。
相关文章推荐
- 用css实现图片垂直居中的使用技巧
- CSS图片响应式 垂直水平居中
- iOS中的UITextView文字输入光标使用技巧小结
- Swift社交应用文本输入优化汇总
- 5种CSS实现的垂直居中
- 结合CSS3的新特性来总结垂直居中的实现方法
- CSS让图片垂直居中的几种技巧
- 自定义消息输入框
- IOS中UITextView控件的一些使用方法
- 未知高度的图片在div设置垂直居中
- 收罗CSS布局居中的N中方法(水平和垂直)
- 关于UITextView的textViewDidChange回调没有调用的问题解决
- 关于UITextView的textViewDidChange回调没有调用的问题解决
- 6 Methods For Vertical Centering With CSS
- 元素水平垂直居中方法集锦
- 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
- CSS各种姿势的文字垂直居中
- UITextView头文件学习
- UITextView圆角黑色边框 一圈
- IOS基本控件常用属性及方法(二)---UITextView