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

时间:2015-12-25 07:06:16

标签: objective-c swift macos cocoa appkit

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

enter image description here

据我所知,Slack的客户端实际上是一个Web浏览器,所以可能就像

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

好像它在HTML中。但是,我想用OS X的Cocoa UIview来做,我想知道是否有任何标准的UI视图我可以用最少的努力达到同样的目的?如果右侧没有更多空间,它应该如何工作是将按钮流到下一行。

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

2 个答案:

答案 0 :(得分:0)

我想我找到了答案

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

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

WWDC上有一个关于它的讨论:

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

答案 1 :(得分:0)

我想你也可以使用$demo = "abc ;def" $items = $demo.split(' ;') - outlet。请参阅this以了解有关此控件的更多信息。每个条目都是NSTokenField,在第一个位置有附件图片。因此,可能没有必要包括NSAttributedString - 一个重的解决方案。