gpt4 book ai didi

ios - Three20 - 纵向模式下的 TTSplitViewController

转载 作者:行者123 更新时间:2023-11-28 17:43:41 24 4
gpt4 key购买 nike

我正在 iPad 上运行来自 Three20 示例的 TTCatalog 项目(未修改它)。

我注意到,当应用程序处于纵向模式时,我无法通过单击顶部显示的弹出窗口更改“详细信息” View Controller (或 rightNavigator)的内容左栏按钮项。

如果我将设备旋转到横向,我可以选择任何 leftNavigator 项并在 rightNavigator 上查看它们的相应内容。

如何使用 TTSplitViewController 在纵向方向上实现相同的效果?

谢谢

更新

此问题仅在使用 iOS 5.0 时出现,在 iOS 4.3 上运行即可。

最佳答案

我昨天遇到了同样的问题。

我在 TTBaseNavigator.m 中写了一条到 three20 trunk 的路径,用以下内容替换了 navigatorForView:view

+ (TTBaseNavigator*)navigatorForView:(UIView*)view {
// If this is called with a UIBarButtonItem, we can't traverse a view hierarchy to find the
// navigator, return the global navigator as a fallback.
if (![view isKindOfClass:[UIView class]]) {
return [TTBaseNavigator globalNavigator];
}

id<TTNavigatorRootContainer> container = nil;
UIViewController* controller = nil; // The iterator.
UIViewController* pcontroller = nil; // The iterator.
UIViewController* childController = nil; // The last iterated controller.

for (controller = view.viewController;
nil != controller;
controller = controller.parentViewController) {
for (pcontroller = controller;
nil != pcontroller;
pcontroller = pcontroller.splitViewController) {
if ([pcontroller conformsToProtocol:@protocol(TTNavigatorRootContainer)]) {
container = (id<TTNavigatorRootContainer>)pcontroller;
break;
}
}
if ([controller conformsToProtocol:@protocol(TTNavigatorRootContainer)]) {
container = (id<TTNavigatorRootContainer>)controller;
break;
}

childController = controller;
}

TTBaseNavigator* navigator = [container getNavigatorForController:childController];
if (nil == navigator) {
navigator = [TTBaseNavigator globalNavigator];
}

return navigator;
}

今天早上我在 github 上发现了一个修复它的拉取请求。我觉得比我的好。你可以在这里找到它:https://github.com/facebook/three20/pull/746

希望对你有帮助

关于ios - Three20 - 纵向模式下的 TTSplitViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com