UITextView 单行垂直居中显示

[textView 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 = ([mTrasView bounds].size.height - [mTrasView contentSize].height);

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

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

    textView.font = [UIFont systemFontOfSize:17];

    textView.textColor = [UIColor whiteColor];

    

    CGSize singleSize = [@"你好" sizeWithFont:[UIFontsystemFontOfSize:17]constrainedToSize:CGSizeMake(textView.frame.size.width,MAXFLOAT)];

    CGSize textSize = [mTrasView.text sizeWithFont:[UIFontsystemFontOfSize:17]constrainedToSize:CGSizeMake(textView.frame.size.width,MAXFLOAT)];

    NSInteger lines = textSize.height / singleSize.height;

    if (lines > 1) {

        textView.textAlignment = NSTextAlignmentLeft;

    }else {

        textView.textAlignment = NSTextAlignmentCenter;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值