我提交了一个自定义键盘,由于这个原因被苹果拒绝了
2.10:iPhone应用程序还必须在iPad上运行,无需修改,iPhone分辨率和2X iPhone 3GS分辨率
我的意图是只为iPhone开发(但苹果有其他想法),但当我在iPad上检查自定义键盘时,它只覆盖键盘长度的一半,比如320宽度。
我做过的事情
关注AppCoda教程,但是在Obj C中开发。
没有使用NSAutolayout约束作为我在XIB中处理的所有内容,其宽度为320,高度为220
我尝试了这段代码
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,但不适用于我的键盘。
答案 0 :(得分:0)
这行代码解决了我的问题
self.customView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);