我有一个 NSCollectionView
,它由消息应用程序中的数十行单列项目(聊天消息)组成。
每个项目都包含一个高度不同的文本区域。因此,在创建 View 时 View 应默认位于底部,并在收到新消息时滚动到底部。
我正在努力要么默认滚动到底部,要么弄清楚如何让 CollectionView 内容的高度滚动到底部。
任何帮助将不胜感激,谢谢!
最佳答案
如果您仅支持 macOS 10.11 及更高版本,并且使用 NSCollectionViewLayout
,您可以向布局器询问整个内容的大小。这也是滚动条大小的调整方式。
因此,在 ObjC 中,您只需向 collectionView 询问其布局器的内容大小并滚动到底部即可:
NSSize contentSize = theCollectionView.collectionViewLayout.collectionViewContentSize.height;
[theCollectionView.enclosingScrollView.contentView scrollPoint:NSMakePoint(0, contentSize.height)];
关于macos - NSCollectionView 滚动到底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461277/