4

我想在 UITextView 中垂直对齐一些文本。当我添加文本时。它从顶部显示..但我需要从顶部显示中间。是否有可能实现这一点。

4

2 回答 2

4

您可以使用类的contentOffset属性UITextView来完成此操作。

看到这个博客。我希望它对你有帮助。

于 2012-06-27T10:44:17.523 回答
0
- (void) viewDidLoad {  
   [textField addObserver:self forKeyPath:@"contentSize" options:  (NSKeyValueObservingOptionNew) context:NULL];  
   [super viewDidLoad];  
}  

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {  
   UITextView *tv = object;  
   //Center vertical alignment  
   //CGFloat topCorrect = ([tv bounds].size.height - [tv contentSize].height * [tv zoomScale])/2.0;  
   //topCorrect = ( topCorrect < 0.0 ? 0.0 : topCorrect );  
   //tv.contentOffset = (CGPoint){.x = 0, .y = -topCorrect};  

   //Bottom vertical alignment  
   CGFloat topCorrect = ([tv bounds].size.height - [tv contentSize].height);  
    topCorrect = (topCorrect <0.0 ? 0.0 : topCorrect);  
    tv.contentOffset = (CGPoint){.x = 0, .y = -topCorrect};  
}  
于 2014-03-29T10:00:31.313 回答