使用下面的代码后,弹出窗口在iPhone 4s,iPad等设备上无法正常显示....它可以在iPhone 6中正常使用。
以下是代码,
UIAlertController *alert1 = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction* ok = [UIAlertAction actionWithTitle:@"Set Bookmark" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
Definition *toBookmark = [appDelegate.encyclopedia getByIdxTerm:mydef.idxterm];
BOOL bBook = [[appDelegate prefsdb] addBookmark:[[appDelegate encyclopedia] objectInListAtIndex:toBookmark.encIdx]];
[alert1 dismissViewControllerAnimated:YES completion:nil];
}];
UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
[alert1 dismissViewControllerAnimated:YES completion:nil];
}];
[alert1 addAction:ok];
[alert1 addAction:cancel];
[self presentViewController:alert1 animated:YES completion:nil];
之前我使用的UIActionsheet在iOS 8中已被弃用....我正在使用iOS 8。
来自iPhone 4s的屏幕截图
来自iPhone 5的截图
它应该像iphone5一样....请帮助
答案 0 :(得分:0)
添加高度约束可能会修复它:
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:alert1.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationLessThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:self.view.frame.size.height];
[alert1.view addConstraint:constraint];
答案 1 :(得分:0)
替代解决方案:将preferredStyle:UIAlertControllerStyleActionSheet更改为preferredStyle:UIAlertControllerStyleAlert,如果您不介意布局设计。