如何在iOS 7的UINavigationController中获取UIScrollView的“实际”帧大小?

肯·哈格蒂

因此,与iOS 7相比,导航控制器iOS 7中的视图框架似乎有很大不同(我认为很奇怪)。

示例:想象一个UIViewController包含一个UIScrollView(self.scrollView),该滚动条填充了self.viewstruts和spring的全部,并始终填充self.view现在,将该UIViewController嵌入到UINavigationController中,并使导航栏保持可见。

在iOS 6中,我观察到以下内容:

  • self.view.frame.origin=(0.0, X)其中X=状态栏的高度(包含时间,信号栏等。= 20.0
  • self.view.frame.size.height= self.view.bounds.size.height=总高度减去self.navigationController.navigationBar.frame.size.height
  • self.scrollView.frame.origin= self.scrollView.bounds.origin=(0.0, 0.0)

在iOS 7中,我观察到以下内容:

  • self.view.frame.origin = (0.0, 0.0)
  • self.view.frame.size.height= self.view.bounds.size.height=总高度(即,嵌入导航控制器时不会降低高度)
  • self.scrollView.bounds.origin= (0.0, -1 * self.navigationController.navigationBar.frame.size.height),但self.scrollView.frame.origin=(0.0, 0.0)

我的猜测是,这样做是为了使内容可以在导航栏下方继续,以便导航栏可以在iOS 7中显示少量的模糊+透明度。

问题:self.scrollView考虑到上面的观察,鉴于self.scrollView.bounds.origin==,self.scrollView.contentOffset如何将iOS 7的实际尺寸(宽x高)嵌入iOS的导航控制器中我是否只需要为iOS 6 v。iOS 7编写不同的代码并检测正在运行的版本?

我真的不想假设屏幕是任何特定大小并对其进行硬编码,因为这似乎是不好的形式...


更新1:我已经上传了我要问的草图。请注意,这种情况下的正确答案是416.0,在iOS 6中很容易获得,但是我不确定如何在不依赖假设的情况下在iOS 7中获得它。

屏幕快照,iOS 6 v。iOS 7布局

克雷格·西门子

发生的是,您UITableView的内容会自动进行调整,以便UINavigationBar在iOS 7上可以看到内容。这是通过更改中的contentInset属性来完成的UIScrollView因此,要获得不包括导航/状态栏后面部分的框架,您只需要考虑即可contentInset

CGRect frame = self.tableView.frame;
frame.origin.y += self.tableView.contentInset.top
frame.size.height -= self.tableView.contentInset.top;

该代码也将在iOS 6上运行,因为self.tableView.contentInset.top默认为0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS 7:UINavigationController下拉UIScrollview

来自分类常见问题

iOS7:UINavigationController中的UIScrollView偏移量

来自分类Dev

如何在Kivy中获取小部件/布局的实际大小?

来自分类Dev

我如何在android中获取drawable的实际大小?

来自分类Dev

如何在iOS中调整UIView的大小?

来自分类Dev

如何在Windows 7中获取实际的代理凭据?

来自分类Dev

如何在iOS 7中获取麦克风音量?

来自分类Dev

如何在iOS7中获取当前高度

来自分类Dev

如何在ImageView iOS7中获取圆形图像

来自分类Dev

如何在iOS 7中更改UISearchBar

来自分类Dev

如何在iOS 7中刷新UICollectionViewCell?

来自分类Dev

如何在iOS中获取图像像素

来自分类Dev

如何在iOS中获取设备令牌?

来自分类Dev

如何在iOS中获取路径扩展

来自分类Dev

如何在iOS中获取图像像素

来自分类Dev

如何在iOS中获取日期名称

来自分类Dev

如何在iOS中将uiscrollview设为无限?

来自分类Dev

如何在 ios 中的 UIScrollView 中添加动态标签?

来自分类Dev

如何在iOS中设置UIScrollView的对齐方式

来自分类Dev

iOS:如何在UIScrollView中显示长文本?

来自分类Dev

如何在iOS上调整位图的大小

来自分类Dev

无论我使用的设备如何,如何在Bitmap变量中获取具有实际大小的位图

来自分类Dev

如何在iOS上获取内部名称?

来自分类Dev

如何在多部分/表单数据请求中获取文件的实际文件大小

来自分类Dev

如何在SwiftUI中获取实际的视图渲染大小和位置?

来自分类Dev

如何在iOS中制作圆形动画

来自分类Dev

如何在iOS中删除导航栏?

来自分类Dev

如何在iOS中从NSOperatinQueue删除操作?

来自分类Dev

如何在iOS中播放视频PHAsset?

Related 相关文章

热门标签

归档