gpt4 book ai didi

ios - willTransitionToTraitCollection 在 UISplitViewController preferredDisplayMode 为 Overlay 时不会在第一次更改时调用

转载 作者:行者123 更新时间:2023-11-28 17:50:34 32 4
gpt4 key购买 nike

我正在使用 UISplitViewController,在我的详细 View 中,我尝试使用 willTransitionToTraitCollection:withTransitionCoordinator:当垂直大小类更改为紧凑时更改几个 View 的可见性。

仅在 iPhone 上(不是 iPhone Plus 或 iPad)如果我更改 preferredDisplayModeUISplitViewControllerDisplayModePrimaryOverlay , willTransitionToTraitCollection:withTransitionCoordinator:第一次旋转设备时不调用,而是willTransitionToSize:withTransitionCoordinator:是。如果我设置 preferredDisplayMode对于其他任何事情,它都可以正常工作。如果您在选择主列表中的项目之前旋转设备,它就可以正常工作。它仅在第一次从纵向到横向旋转时出现。

这很容易使用 Master-Detail 模板重现:

应用委托(delegate):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;

// ******** Add this ********
[splitViewController setPreferredDisplayMode:UISplitViewControllerDisplayModePrimaryOverlay];

UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem;
splitViewController.delegate = self;
return YES;
}

DetailViewController , 添加 viewWillTransitionToTraitCollectionviewWillTransitionToSize实现和设置断点:

- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
[super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
}

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}

你会看到 willTransitionToSize:总是被调用,但是 willTransitionToTraitCollection:不会为第一次转换调用。

有人知道这是为什么吗?我觉得这是一个错误,但在我将错误报告发送到 Apple 的错误报告程序黑洞之前,我想看看是否有人有解释。

最佳答案

继续“这是一个错误”。

我已向 Apple 提交错误报告并为其创建雷达:https://openradar.appspot.com/radar?id=5015544713445376

关于ios - willTransitionToTraitCollection 在 UISplitViewController preferredDisplayMode 为 Overlay 时不会在第一次更改时调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39582112/

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