gpt4 book ai didi

ios - 检测 UIInputViewController 子类中的旋转。键盘扩展

转载 作者:行者123 更新时间:2023-11-29 12:36:48 25 4
gpt4 key购买 nike

我一直在开发自定义键盘扩展,我需要在设备旋转后以编程方式更新一些约束。我一直在尝试检测我的 UIInputViewController 子类中的用户界面旋转,但没有成功。设备旋转时不会调用这些方法:

-(void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>) coordinator {
NSLog(@"Orientation changed");
}

-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
NSLog(@"Orientation changed");
}

我也尝试观察 UIDeviceOrientationDidChangeNotification但它也不起作用。

有谁知道如何检测 UIInputViewController 中的旋转?

最佳答案

你是对的 - 键盘扩展的 UIInputViewController 子类中没有调用这些方法(不确定其他扩展类型)。

您需要覆盖 viewDidLayoutSubviews

例如,如果您想在设备旋转时更新键盘的 UICollectionView subview 的布局,您可以这样做:

- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];

[self.keyboard.collectionView performBatchUpdates:nil completion:nil];
}

在您的情况下,您可以在 viewDidLayoutSubviews 中检查设备的方向,然后适本地应用/修改约束。

关于ios - 检测 UIInputViewController 子类中的旋转。键盘扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26079579/

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