UITableView 类似 NSTableView

发布于 2024-10-24 15:54:47 字数 151 浏览 2 评论 0原文

我想知道如何使 NSTableViewiOS 上表现得像 UITableView 一样。例如,将内容分成几个部分以及部分标题的典型行为。

这可能吗?如果是这样,怎么办?

非常感谢。

I wondered how I can make a NSTableView to behave like a UITableView on iOS. For example, splitting the content into sections as well as the typical behaviour of the section headers.

Is that possible? If so, how?

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

海之角 2024-10-31 15:54:47

区别之一是 UITableView 的“单元格”实际上是视图,而 NSTableView 的“单元格”是真正的单元格。视图会占用更多内存,并且需要做一些工作才能让 NSTableView 接受像单元格这样的视图,然后再做一些优化工作,这样如果您有一个巨大的列表,就不会太占用内存。

幸运的是,它已经(大部分)完成了,并且有一个 github 项目:

1) https://github.com/ Perspx/PXListView#readme(另请查看他的博客以获取更多信息)
2) http://blog.atebits.com/ 2008/12/fast-scrolling-in-tweetie-with-uitableview/

祝你好运

One of the differences is that UITableView's "cells" are actually Views, while NSTableView's are proper cells. Views suck up more memory and there's a bit of work involved in getting NSTableView to accept views like cells, then a bit more to optimize it so that if you have a huge list it isn't too memory intesnive.

Luckily it's already (mostly) been done, and there's a github project:

1) https://github.com/Perspx/PXListView#readme (also check his blog for more info)
2) http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/

Good luck

打小就很酷 2024-10-31 15:54:47

我在这件事上浪费了好几天的时间——所以你不必这样做。

Twitter 有一个 UI 框架 TwUI,他们费了很大的劲才让桌面客户端的外观和行为像 iPhone 一样。如今,Appkit 已经显得有些过时了。

这个库的缺点是你不能将 NSView 添加到它们的 TWUIView 中。
如果您没有花费大量时间创建自定义 nsview,这可能没问题。
你可以尝试这个fork,我用它来模仿粘性标题视图。
它具有基于组的表格视图,例如 uitableview。
输入图片此处描述
https://github.com/johndpope/osx-stickyheaders

事实证明苹果有一个很好的示例库在这里
https://developer.apple.com/library/mac/ Samplecode/TableViewPlayground/Introduction/Intro.html

这里有一个简化版本,它用这一行演示了 FloatsGroupRows 属性

[self.tableView setFloatsGroupRows:YES] 

,这使得 nstableview / 部分看起来像一个 uitableview。
https://github.com/TomLiu/PlayTableView

缺点是 - 它不适用于单元格基于表视图。

输入图片此处描述

它仅适用于基于视图的表格视图。

输入图片这里的描述

由于微软最近用 C++ 逆向设计了 UIKit,包括 UITableView,也许有一天有人会好心地将其移植回 OSX。供读者练习。
https://github.com/Microsoft/WinObjC/blob/ master/Frameworks/UIKit/UITableView.mm

I wasted several days on this - so you don't have to.

There is a Twitter UI framework TwUI which they went to a lot of trouble to get their desktop clients to look and behave like the iPhone. The Appkit is showing its age these days.

The con with this library is you can't add NSViews to their TWUIViews.
This maybe fine if you haven't spent a lot of time creating custom nsviews.
You can try this fork which I hacked to mimic the sticky header view.
It has group based tableviews like uitableview.
enter image description here
https://github.com/johndpope/osx-stickyheaders

It turns out Apple have a nice sample library here
https://developer.apple.com/library/mac/samplecode/TableViewPlayground/Introduction/Intro.html

And a simplified version here which demonstrates the FloatsGroupRows property with this line

[self.tableView setFloatsGroupRows:YES] 

which for all intents and purposes makes the nstableview / sections look like a uitableview.
https://github.com/TomLiu/PlayTableView

The con with that is - it's not available for cell based table views.

enter image description here

It is only available on View Based tableviews.

enter image description here

Since Microsoft have recently reversed engineered UIKit including the UITableView - in c++, it may one day someone be so kind to port this back to OSX. An exercise for the reader.
https://github.com/Microsoft/WinObjC/blob/master/Frameworks/UIKit/UITableView.mm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文