VTAcknowledgementsViewController
显示许可证列表的 Acknowledgements 屏幕,例如来自 CocoaPods 依赖项。
还提供 Swift 版本,使用 AcknowList。
特性
- 自动从 CocoaPods 生成的文件加载致谢
- 移除许可证中的多余换行符,以获得更好的文本换行
- 可选的列表标题和页脚
- 标题、页脚和致谢文本中的可点击链接
- 支持 Storyboard
- 支持 Dark Mode
- 支持 Dynamic Type
- 支持 12 种语言本地化
安装
CocoaPods 是最常用的安装此库的解决方案。
- 将
pod 'VTAcknowledgementsViewController'
添加到您的Podfile
中。 - 运行
pod install
。 - 将 CocoaPods 生成的
Pods-#target#-acknowledgements.plist
文件添加到主目标中:将文件从 Xcode 项目中的Pods/Target Support Files/Pods-#target#/
文件夹拖放到主目标中(不要复制文件,请保留“如果需要才复制”选项未勾选)。
初始化
VTAcknowledgementsViewController
实例通常被推送到现有的 UINavigationController
。
VTAcknowledgementsViewController *viewController = [VTAcknowledgementsViewController acknowledgementsViewController];
[self.navigationController pushViewController:viewController animated:YES];
默认情况下,控制器会尝试根据捆绑名称猜测你的 .plist
文件名(例如 Pods-#bundle-name#-acknowledgements.plist
)。如果这与你要查找的文件不匹配,你可以使用自定义文件名或路径来初始化视图控制器。
viewController = [[VTAcknowledgementsViewController alloc] initWithFileNamed:@"Pods-MyTarget-acknowledgements"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Pods-MyTarget-acknowledgements" ofType:@"plist"];
viewController = [[VTAcknowledgementsViewController alloc] initWithPath:path];
如果你想要包含不属于 plist
文件的许可证,你可以轻松创建新的 VTAcknowledgement
实例,并使用它们作为控制器的认可数组。
VTAcknowledgement *customLicense = [[VTAcknowledgement alloc] initWithTitle:@"..." text:@"..." license:nil];
viewController = [[VTAcknowledgementsViewController alloc] initWithAcknowledgements:@[customLicense]];
自定义
控制器还可以显示标题和页脚。默认情况下,它们从生成的 plist
文件加载,但您也可以直接更改属性值。如果这些文本包含链接,则视图可点击,并通过 URL 打开源浏览器。
viewController.headerText = @"We love open source software.";
viewController.footerText = @"Powered by CocoaPods.org";
控制器标题是“认可”的本地化值。您可能希望将该本地化值用于呈现控制器的按钮。
NSString *localizedTitle = [VTLocalization localizedTitle];
[button setTitle:localizedTitle forState:UIControlStateNormal];
默认情况下,VTAcknowledgementsViewController
使用“分组”表格视图样式。您可以选择不同的样式
viewController = [[VTAcknowledgementsViewController alloc] initWithAcknowledgements:@[] style:UITableViewStylePlain];
如果您需要进一步自定义库的外观或行为,请随意子类化其类。
Apple TV
VTAcknowledgementsViewController
也适用于tvOS,支持Apple TV应用程序。
要求
VTAcknowledgementsViewController
支持 iOS 9.0 或 tvOS 9.0 及以上版本,并且需要 Xcode 11.0 及以上。如果您需要较低的需求,请查找此存储库的较早版本
致谢
VTAcknowledgementsViewController 是由 Vincent Tourraine 创建的,并由不断壮大的 贡献者列表 改善。
许可
VTAcknowledgementsViewController 在 MIT 许可下提供。详细信息请参阅 LICENSE.md 文件。