可可 – 滚动NSTextView使滚动条处于错误的位置

可可 – 滚动NSTextView使滚动条处于错误的位置,第1张

概述我在NSScrollView中有一个NSTextView.我将文本放在NSTextView中并以编程方式将其滚动到底部,这可以正常工作,但滚动条保持在顶部.使用鼠标定位滚动条使其跳转到它所属的底部,从那时起它可以正常运行. 我的代码: textView.string = s;[textView scrollToEndOfDocument:self]; 不要挂在scrollToEndOfDocum 我在NSScrollVIEw中有一个NSTextVIEw.我将文本放在NSTextVIEw中并以编程方式将其滚动到底部,这可以正常工作,但滚动条保持在顶部.使用鼠标定位滚动条使其跳转到它所属的底部,从那时起它可以正常运行.

我的代码:

textVIEw.string = s;[textVIEw scrollToEndOfdocument:self];

不要挂在scrollToEndOfdocument方法上 – 我也尝试过:

[textVIEw scrollRangetoVisible:NSMakeRange(s.length,0)];

和:

[[scrollVIEwText contentVIEw] scrolltopoint:NSMakePoint(0,textVIEw.frame.size.height)];[scrollVIEwText reflectScrolledClipVIEw:[scrollVIEwText contentVIEw]];

完全相同的问题,如下所示:

我通过添加一行来修复问题:

textVIEw.string = s;[[NSRunLoop currentRunLoop] runUntilDate:[NSDate distantPast]];[textVIEw scrollToEndOfdocument:self];

那个runUntilDate调用不应该是必要的.我的理论是,它给NSScrollVIEw提供了一个机会,以某种方式赶上并同步自己.

这一切都在lion上.我尝试将系统偏好设置为lion“向后”滚动和传统的前狮子滚动,结果相同.

任何想法:

>为什么我添加的电话有帮助,而且
>如何在没有电话的情况下使其工作?

解决方法 试试NSScrollVIEw的reflectScrolledClipVIEw:

编辑:如何更换
[[scrollVIEwText contentVIEw] scrolltopoint:NSMakePoint(0,textVIEw.frame.size.height)];

[scrollVIEw.contentVIEw scrolltopoint:NSMakePoint(0,scrollVIEw.documentVIEw.frame.size.height-scrollVIEw.contentSize.height)];

因为它的立场我相信你滚动浏览文档视图的框架.

总结

以上是内存溢出为你收集整理的可可 – 滚动NSTextView使滚动条处于错误的位置全部内容,希望文章能够帮你解决可可 – 滚动NSTextView使滚动条处于错误的位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1001029.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存