我正在使用自定义大小的iPad中的导航控制器以模态显示视图控制器,但是当键盘显示时,视图控制器的框架大小会更改。 它可以在iOS 7上完美运行,但是在iOS 8上运行时却遇到了这个问题。

显示视图的代码:

UINavigationController *navController = [[UINavigationController alloc]  initWithRootViewController:controllerToShow];
navController.modalPresentationStyle = UIModalPresentationFormSheet;
[[AppDelgate instance].rootViewController presentViewController:navController animated:YES completion:nil];

//in opening viewcontroller class frame is set 
  #define view_height 400
 #define view_width 700

-(void)viewWillAppear:(BOOL)animated{

     if ([UIApplication sharedApplication].statusBarOrientation ==   UIInterfaceOrientationLandscapeLeft || [UIApplication   sharedApplication].statusBarOrientation == UIInterfaceOrientationLandscapeRight)    {
          self.navigationController.view.superview.frame = CGRectMake(162, 200, view_width, view_height);
     }else {
       self.navigationController.view.superview.frame = CGRectMake(([AppDelgate instance].rootViewController.view.frame.size.width - 700)/2, 250, view_width, view_height);
     }
}

关于如何解决这个问题的任何想法?

#1楼 票数:0

更改的系统视图私有视图层次从来都不是一个好主意。

您应该使用现有的自定义演示和过渡技术( UIModalPrestationCustomUIViewControllerTransitioningDelegate )来实现您尝试使用公共API做什么。

#2楼 票数:0 已采纳

通过添加解决

-(CGSize)preferredContentSize{
   return  CGSizeMake(view_width, view_height);
}

  ask by rhlnair translate from so

未解决问题?本站智能推荐:

1回复

在iOS8的数字键盘上添加“完成”按钮时出错

因此,小键盘默认情况下不带有“完成”按钮,因此我想添加一个。 在iOS 7及以下版本中,有一些技巧可以在键盘上添加按钮,但它们似乎在iOS 8中不起作用。 运行此代码时,应用程序将终止并给出错误消息:
6回复

如何在iOS8中设置UIAlertController的高度和宽度

我有一个带有 TextFile 的 UIAlertController。 问题是默认的 UIAlertController 尺寸非常小。 它的文字无法正常显示。 所以,我想增加 UIAlertController 的高度和宽度。 换句话说,我想创建一个自定义的 UIAlertController。
1回复

iOS中的手电筒闪光灯

我正在用Objective-C为iOS TorchLight编写应用程序,我访问了许多代码段,但是没有找到任何完整的代码段,因为我需要从xib文件开始的完整指南,因为当按钮按下时,我有两个图像处于正常状态时,image1显示在按钮上,而当按钮处于按下状态时,image2显示在按钮上。 提前致
1回复

如何使用iOS8中的滑动和删除功能使UITableViewcell可编辑

我正在尝试在objective-c iOS8 UITableView中实现删除按钮,但是在iOS8滑动和删除功能无法在iOS7正常工作。 iOS8帮助我如何在iOS8表格视图中实现此功能。 我想在Objective-C而不是Swift中做到这一点。 我正在使用此代码, 如果有人知道
2回复

在目标C中显示MapKit“地图加载错误”

我正在使用目标c使用Mapkit,我想在地图上显示“错误警报”。 当Internet运行正常时,它可以正常工作,但是当Internet运行不正常时,它将在日志“请求超时”时自动显示,而无需调用“ mapViewDidFailLoadingMap ”委托方法。 此处代码: 显示错误:
3回复

照片框架。requestImageForAsset无法返回正确的图像尺寸

我正在使用requestImageForAsset:targetSize:contentMode:options:resultHandler:方法从PHAsset获取图像。 这些代码有效,但是返回的imageSize不是{150,200},而是{300,400},即图像的完整大小。 我该如
1回复

iOS8SDK更新后iOS应用奇怪的旋转行为

我一直在开发一个iPad应用程序,直到将Xcode更新到版本6以及将iPad更新到iOS 8为止,它都可以正常工作。我现在遇到的问题是,当我更改iPad的方向时,我可以捕捉到事件,但是视图不会相应地旋转。要在具有iOS 7应用程序的iPad中自动旋转,视图的大小将保持不变; 例如,如果我以纵向
4回复

cellForRowAtIndexPath方法自定义按钮显示2次

我在cellForRowAtIndexPath方法中使用了此代码。 当我单击按钮或滚动表时,此按钮显示两次。 为什么此按钮显示2次,请帮帮我?