关闭

UITextView内容垂直居中

标签: UITextView垂直居中
212人阅读 评论(0) 收藏 举报
分类:

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,居中输入的动态效果,此处只提供一个思路,其方法进行过验证,可行。但细节上需要你自己根据情况改变。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16728次
    • 积分:594
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:12篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论