为 OS X 实现浮动按钮 UI 视图的最简单方法是什么

What's the easiest way to implement floating buttons UI view for OS X

我想实现一个 UI 视图,例如 Slack 的表情符号选择视图

据我所知,Slack 的客户端实际上是一个网络浏览器,所以它可能类似于

   <ul>
       <li style="float: left"><a href="#">:taco</a></li>
       ....
   </ul>

就像在 HTML 中一样。但是,我想用 Cocoa UIview for OS X 来做,我想知道是否有任何标准的 UI 视图可以用最少的努力实现相同的目的?如果右侧没有更多 space,则应将按钮移至下一行。

我看起来像NSTableView,但是项目单元格似乎没有浮动(也许我需要自己实现?)。我还检查了NSStackView,当宽度超过父视图时,它不会流到第二行。无论如何,我想知道在我进入自定义 UI 视图之前太快了。

我想我找到了答案

感谢@Astoria,我认为 NSCollectionView 是正确的使用方式,唯一的问题是使用哪种布局。谷歌搜索后,我认为

NSCollectionViewFlowLayout是正确的使用,它是来自UICollectionViewFlowLayout(iOS)的端口,文档可以是found here

WWDC 上有一个关于它的演讲:

https://developer.apple.com/videos/play/wwdc2015-225/

我想你也可以使用 NSTokenField-outlet。请参阅 this 以了解有关此控件的更多信息。每个条目都将是一个 NSAttributedString,附件图像位于第一个位置。因此,可能没有必要包括 NSCollectionView-one.

这样沉重的解决方案