我正在使用UITextView
来显示xml
中的文字。我解析了xml并将文本存储在NSArray
中,然后我将其添加到UITextview
1}}在我的代码中。
问题: 当我运行代码时,textview显示为空或部分文本,当我尝试滚动textview时,整个文本都会显示出来。
我将UITextview
添加到UIView
。
我发现它很奇怪,谷歌搜索它但找不到很多帮助我的答案。 有人可以回复我解决问题
TNQ
答案 0 :(得分:10)
找到一个简单的解决方案
有同样的问题。当您将文本放入不可见的UITextView时,它不会绘制文本。
我将UITextView关闭屏幕,然后将其设置为动画:
[UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationCurveEaseOut animations:^{
self.contentView.center = CGPointMake(self.contentView.center.x + move * (self.contentView.frame.size.width /2), self.contentView.center.y);
self.textView.frame = self.textView.frame; // <<<--- ADD THIS LINE
} completion:^(BOOL finished) {
if (finished) {
}
}];
当你重新设置textview的框架时,它会重新绘制它的文本。因此,您需要做的就是在UITextView出现在屏幕上之前添加我在上面标记的行。
干杯
答案 1 :(得分:5)
UITextView继承自UIScrollView,因此只需滚动它即可。
[detailsTextView setContentOffset:CGPointMake(0, 1) animated:YES];
答案 2 :(得分:1)
我通过清除textview并将文本再次添加到textview来解决了这个问题,我不知道确切的基础,但我的问题已经解决了。 在我的情况下: 我正在点击按钮将文本视图的框架从外部更改为视图。单击按钮时,textview不显示内容,并在滚动时显示。
我通过删除textview中的文本并在单击按钮时重新输入文本来解决。
答案 3 :(得分:0)
UItextView
继承自UIScrollView
。这意味着它具有滚动功能。因此,如果UITextView
的内容足够小以适合其框架,则无需滚动。
但是,如果它足够大,则需要滚动UITextView
。
这有意义吗?
有关详细信息,请参阅UITextView
的课程参考答案 4 :(得分:0)
确保你设置textview文本的方法被正确调用。你分配给文本视图的字符串是正确的字符串格式(如果不是这样的话,保留它)。
答案 5 :(得分:0)
在实际文本之前,空格和/或换行符可能存在。在将这些字符分配给文本视图之前修剪它们。
NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *text = [parsedString stringByTrimmingCharactersInSet:charset];
textview.text = text;
答案 6 :(得分:0)
请在加载textView时尝试
NSAttributedString *oldtext = objTextView.attributedText;
[objTextView removeFromSuperview];
objTextView.attributedText = oldtext;
[self.view addSubview:objTextView];
就我而言,我的文字归于
答案 7 :(得分:0)
当您完成解析XML的操作时,您确保在主线程上发生了更新吗?
UIKit仅在主线程上进行更新,因此所做的任何更新只会在您下次触摸对象并强制更新时显示。
作为正确执行此操作的一种方法的示例。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
[self parseXMLOffMainThread];
dispatch_async(dispatch_get_main_queue(), ^{
self.myTextView.text = parsedText;
});
});