iOS自定义键盘被拒绝,因为它不提供iPad支持

时间:2014-11-06 11:01:00

标签: ios objective-c iphone ios8 custom-keyboard

我提交了一个自定义键盘,由于这个原因被苹果拒绝了

  

2.10:iPhone应用程序还必须在iPad上运行,无需修改,iPhone分辨率和2X iPhone 3GS分辨率

我的意图是只为iPhone开发(但苹果有其他想法),但当我在iPad上检查自定义键盘时,它只覆盖键盘长度的一半,比如320宽度。

我做过的事情

  • 关注AppCoda教程,但是在Obj C中开发。

  • 没有使用NSAutolayout约束作为我在XIB中处理的所有内容,其宽度为320,高度为220

  • 检查所有iPhone型号的键盘,除了iPad
  • 外,它的工作正常

我尝试了这段代码

   UIView *topView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
topView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]];

UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
[leftButton setTranslatesAutoresizingMaskIntoConstraints:NO];
[leftButton setTitle:@"right " forState:UIControlStateNormal];

[topView addSubview:leftButton];
[self.view addSubview:topView];

NSLayoutConstraint *topC = [NSLayoutConstraint constraintWithItem:leftButton attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:topView attribute:NSLayoutAttributeTop multiplier:1.0 constant:1.0];

NSLayoutConstraint *rightC = [NSLayoutConstraint constraintWithItem:leftButton attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:topView attribute:NSLayoutAttributeRight multiplier:1.0 constant:1.0];

 NSLayoutConstraint *bottomC = [NSLayoutConstraint constraintWithItem:leftButton attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:topView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-1.0];

[topView addConstraints:@[topC,rightC,bottomC]];

我得到了这个输出ScreenShot。这是我在iPad上打开键盘的确切布局。所以我哪里错了?所有教程都显示在iPhone中,它似乎也适用于iPad,但不适用于我的键盘。

1 个答案:

答案 0 :(得分:0)

这行代码解决了我的问题

self.customView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);