[英]iOS - Display a UIViewController as fullscreen from within a UINavigationController
[英]Design an iOS SDK to display a UIViewController
我目前正在开发一个iOS SDK,该SDK应该为不同的任务提供一些UIViewControllers,而我正在努力寻找一个不错的设计。
我认为有3种可能的设计:
这些解决方案中的每一个都有一些缺点。 在解决方案1中,我不知道是否将使用导航控制器来显示控制器(或导航栏是否可用),并且我需要实现一些自定义内容以添加按钮等,这些通常可以在导航栏中找到。
解决方案2的可配置性不是很高,需要用户传递父UIViewController才能显示UIViewController。
如果有人可以指向我指向某个链接或就此问题提供一些建议,那将是很好的。 谢谢!
我猜想在身份验证期间使用GameKit就是一个很好的例子。 如果回调块中的身份验证失败,您将有机会显示和视图控制器实例来注册或登录游戏中心。 这是一个示例:
- (void) authenticateLocalPlayer
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
if (viewController != nil)
{
[self showAuthenticationDialogWhenReasonable: viewController
}
else if (localPlayer.isAuthenticated)
{
[self authenticatedPlayer: localPlayer];
}
else
{
[self disableGameCenter];
}
}];
}
如您所见,视图控制器是由游戏中心框架创建的,但是显示的决定以及如何(推,模态等)决定给开发人员。 我想那是最好的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.