INDockableWindow 1.0

INDockableWindow 1.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

未知用户维护。



  • 作者:
  • Indragie Karunaratne

AppKit 的可嵌入窗口控制器

概览

INDockableWindow 是一组类,它允许您创建基于列的应用程序用户界面,其中每个列都可以通过拖动分离把手“嵌入”到主窗口中,也可以通过分离把手分离成自己的窗口。例如,在 Tweetbot for Mac 中可以看到这种类型的 UI。

注意:虽然此控件功能完整,但仍在早期开发阶段,最好将其视为测试版质量代码。

特点

  • 简单的 API。 您只需与 2 或 3 个类进行交互。
  • 完全可自定义。 包括尺寸约束、分割视图外观以及自身窗口都可以自定义。
  • 基于 INAppStoreWindow 构建。 每个窗口都是 INAppStoreWindow 的子类,因此自定义标题栏和交通灯变得简单。
  • 用户可拖动的分割条。 当视图被嵌入到主窗口中时,每个视图的大小可以通过用户可拖动的分割条进行调整。视图在弹出到单独的窗口时维持此宽度。
  • 平滑过渡。 可嵌入视图与未嵌入窗口之间的过渡平滑度是本项目的重点考虑因素,两者的过渡尽可能流畅。
  • 将辅助窗口拖近主窗口以附加和分离。 它们像磁铁一样工作!

将其添加到您的项目中

  • 克隆此仓库
  • 运行 git submodule update --init --recursive 下载 INAppStoreWindow
  • INAppStoreWindowINDockableWindow 的源代码文件添加到您的项目中
ARC

INDockableWindow 需要 ARC。 如果您的项目不使用 ARC,请将编译器标志 -fobjc-arc 添加到所有 INDockableWindow 源代码文件。

自动布局

INDockableWindow 不支持自动布局。 使用自动布局时行为未定义。

示例

项目包含一个简单的示例应用程序,演示了带有2列布局的停靠和解停靠功能。

Docked Undocked

我希望将来能编写一个更高级的示例项目。

文档

完整文档位于“文档”文件夹中。标题也都有完整的文档。

入门

  • 创建一个新的INDockableWindowController实例。
  • 将主视图控制器(始终显示的“核心视图”)分配给primaryViewController
  • 使用-addViewController:attached:添加额外的视图控制器。

贡献

通过拉取请求数据的贡献总是受到欢迎。我将非常欣赏您对遇到的任何错误进行修复,或实现额外功能的实施。

联系

许可证

INDockableWindow遵守MIT协议。更多信息请参阅LICENSE.md文件。