我有一个UITextView,里面有很多文字。当显示包含UITextView的子视图时,UITextView仅在触摸并滚动UITextView后出现。
UITextView中的文本数量是否有限制? 或者这是一个错误吗?
附件是解释此事件的剪辑。
答案 0 :(得分:2)
好的,我已经调查了它,这似乎是一个非常普遍的问题。看起来文本视图并不认为它必须绘制文本,但调用setNeedsDisplay
并没有帮助。我不知道是否有真实的"解决方案,但您可以通过以编程方式滚动来强制它绘制文本:
disclaimerView.contentOffset = CGPointMake(0, 1);
disclaimerView.contentOffset = CGPointMake(0, 0);
代码中不相关的内容:在switchView
方法中,您有两个动画,一个用于菜单视图,另一个用于您正在滑动的视图。这是不必要的,因为您可以将两个setFrame
调用放在同一个动画中:
MenuView = (UIView *)[self.view viewWithTag:100];
appView = (UIView *)[self.view viewWithTag:ViewInt];
[MenuView setFrame:CGRectMake(0, 0, 320, 480)];
[appView setFrame:CGRectMake(321, 0, 320, 480)];
[UIView beginAnimations:@"move buttons" context:nil];
[UIView setAnimationDuration:.5];
[MenuView setFrame:CGRectMake(-320, 0, 320, 480)];
[appView setFrame:CGRectMake(0, 0, 320, 480)];
disclaimerView.contentOffset = CGPointMake(0, 1);
disclaimerView.contentOffset = CGPointMake(0, 0);
[UIView commitAnimations];
还有一件事(然后我会退后:))
您似乎非常喜欢使用标签来检索元素。虽然它确实有效,但它不是很容易理解。您没有那么多元素,因此我只需将每个元素添加为IBOutlet
,并使用有意义的名称(就像您对disclaimerView
所做的那样)。此外,对于要移动到的不同视图,请使用单独的switchView
方法。这样,您可以轻松执行仅针对该视图可能需要的其他内容,例如disclaimerView
上的强制滚动。