iOS 8横向纵向模式下的自定义键盘
我想在iOS 8中制作一个自定义键盘。我想改变它的大小时,手机旋转到横向模式iOS 8横向纵向模式下的自定义键盘,ios,ios8,landscape-portrait,ios-app-extension,custom-keyboard,Ios,Ios8,Landscape Portrait,Ios App Extension,Custom Keyboard,我想在iOS 8中制作一个自定义键盘。我想改变它的大小时,手机旋转到横向模式 -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { NSUserDefaults *def = [NSUserDefaults standardUserDefaults]; if ((toInterfaceOr
-(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:
此函数提供对容器视图和转换协调器的新大小的引用。然后可以将键盘调整为新的屏幕大小
还有一个附加到过渡协调器的功能,允许您在屏幕旋转时设置视图动画和/或在屏幕旋转后设置完成块
及
至于您最初的问题,您是否尝试在设置约束后在视图上调用layoutIfNeeded?当视图变为横向模式时,我应该做什么来减小视图的大小?什么是“它不工作”?键盘的大小保持不变?你收到错误信息了吗?设备在您手中爆炸,您用一只好的手键入了这个问题?您应该在-[viewDidLoad]中,将约束添加到视图中,只需更改约束常量值,而不是添加一个会导致约束错误的新约束。在约束代码中,应该设置超级视图以关闭自动调整大小
animateAlongsideTransition:completion:
animateAlongsideTransitionInView:animation:completion: