相关疑难解决方法(0)

在iOS7或TextKit中使用什么而不是scrollRangeToVisible

在以前的iOS版本中,我UITextView将使用滚动到底部

[displayText scrollRangeToVisible:NSMakeRange(0,[displayText.text length])];
Run Code Online (Sandbox Code Playgroud)

要么

CGFloat topCorrect = displayText.contentSize.height -[displayText bounds].size.height;
topCorrect = (topCorrect<0.0?0.0:topCorrect);
displayText.contentOffset = (CGPoint){.x=0, .y=topCorrect};
Run Code Online (Sandbox Code Playgroud)

但是前者现在会产生奇怪的效果,即从长文本的顶部开始,并在每次向视图添加文本时将滚动设置为动画.当我添加文本时,有没有办法弹出文本的底部?

objective-c uitextview ios ios7 textkit

9
推荐指数
1
解决办法
3693
查看次数

平滑的UITextView自动滚动到框架的底部

我正在使用Xcode 5.1.1为ios7开发.由于有新文本进入UITextView,我希望它如果文本上升,为用户留出空间来查看新文本.我有一些有用的东西,但显示新文本的动画很尴尬.它几乎就像是从文本的最顶端开始,并且每次调用它时都会迅速降到最低点.

CGPoint p = [textview contentOffset]; [textview setContentOffset:p animated:NO]; [textview scrollRangeToVisible:NSMakeRange([textview.text length] - 1,0)];

每次输入新文本时都会调用此代码.我希望它像默认的iPhone信使一样顺畅,只是随便滑动.

animation scroll objective-c uitextview

5
推荐指数
1
解决办法
4910
查看次数

UITextView setText不应该在ios8中跳转到顶部

以下iOS 8代码每秒调用一次:

- (void)appendString(NSString *)newString toTextView:(UITextView *)textView {
    textView.scrollEnabled = NO;
    textView.text = [NSString stringWithFormat:@"%@%@%@", textView.text, newString, @"\n"];
    textView.scrollEnabled = YES;
    [textView scrollRangeToVisible:NSMakeRange(textView.text.length, 0)];
}
Run Code Online (Sandbox Code Playgroud)

目标是当文本从底部开始运行时,具有与XCode控制台相同的向下滚动行为.不幸的是,setText导致视图重置为顶部,然后我再次使用scrollRangeToVisible向下滚动.

这在iOS7中通过上面的代码得到了解决,但是在上周升级到iOS8后,该解决方案似乎不再适用了.

如果没有跳跃行为,我无法弄清楚如何能够流畅地使用它?

scroll uitextview settext contentoffset ios8

5
推荐指数
2
解决办法
3794
查看次数