gpt4 book ai didi

ios - iOS 8 横向纵向模式下的自定义键盘

转载 作者:可可西里 更新时间:2023-11-01 06:07:11 26 4
gpt4 key购买 nike

我想在 iOS 8 中制作一个自定义键盘。我想在手机旋转到横向模式时更改它的大小。

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
duration:(NSTimeInterval)duration
{
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
if ((toInterfaceOrientation==UIInterfaceOrientationPortrait) || (toInterfaceOrientation==UIInterfaceOrientationPortrait))
{
[def setObject:@"No" forKey:@"LandScape"];
[def synchronize];
islandscapemode = NO;
NSLayoutConstraint *_heightConstraint =
[NSLayoutConstraint constraintWithItem: self.view
attribute: NSLayoutAttributeHeight
relatedBy: NSLayoutRelationEqual
toItem: nil
attribute: NSLayoutAttributeNotAnAttribute
multiplier: 0.0
constant: 266];

[self.view addConstraint:_heightConstraint];
}
else
{
[def setObject:@"Yes" forKey:@"LandScape"];
[def synchronize];

NSLayoutConstraint *_heightConstraint =
[NSLayoutConstraint constraintWithItem: self.view
attribute: NSLayoutAttributeHeight
relatedBy: NSLayoutRelationEqual
toItem: nil
attribute: NSLayoutAttributeNotAnAttribute
multiplier: 0.0
constant: 266];

[self.view addConstraint:_heightConstraint];

self.view.backgroundColor=[UIColor greenColor];

islandscapemode = YES;

}
// [self determineKeyboardNib:toInterfaceOrientation];
}

但它不起作用。我该怎么办?

最佳答案

willRotateToInterfaceOrientation:duration:

已在 iOS 8 中弃用。请尝试使用

viewWillTransitionToSize:withTransitionCoordinator:

iOS Developer Library: viewWillTransitionToSize

此函数为您提供容器 View 的新大小和转换协调器的引用。然后,您可以将键盘调整为新的屏幕尺寸。

还有一个函数附加到转换协调器,允许您在屏幕旋转时为 View 设置动画和/或在屏幕旋转后完成 block 做一些事情。

iOS Developer Library: UIViewControllerTransitionCoordinator

animateAlongsideTransition:completion:

animateAlongsideTransitionInView:animation:completion:

至于您最初的问题,您是否尝试在设置约束后在 View 上调用 layoutIfNeeded?

关于ios - iOS 8 横向纵向模式下的自定义键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25605565/

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