草庐IT

ios7 所有 searchviews 和 tableviews 关闭 20 像素

coder 2023-09-25 原文

编辑:这不是框架的问题。框架在正确的位置。这是关闭的内容。是的,我们正在补偿清晰的状态栏。 ViewDidLoad 显示内容偏移量为 0,0。

在我的应用程序的每个具有 ScrollView 的页面上,它的内容都被向下推了 20 像素。我认为这可能与新的 StatusBar 或缺少 StatusBar 有关。该错误似乎也存在于模拟器设置菜单中。屏幕截图如下。这似乎只影响添加到 ViewController 的第一个 ScrollView ,并且只有在没有其他 View 添加到它的情况下。 TableView 也受到影响,因为它们继承自 ScrollView 。需要明确的是, ScrollView 从正确的起点开始,但内容被向下推了 20 像素。这很奇怪,因为我认为如果这是一个状态栏问题,它会在上方而不是下方 20 像素。

目前我们正在通过将其添加到我们的基本 View Controller 来修复它

UIView *hackView = [[UIView alloc] init];
hackView.frame = CGRectMake(0, 0, 0, 0);
[self.view addSubview:hackView];

显然,这是一个 hack。

在为最新的 IOS7 构建时,即使使用金牌成员(member)版本的 IOS7,手机和模拟器也会发生同样的事情。您甚至可以在模拟器的设置 TableView 和我们下面的设置 TableView 中看到错误示例。

这是加载后的截图。我们注意到的一件奇怪的事情是,当我们执行拉动刷新时,它会更正 ScrollView 并停留在正确的位置。或者,如果我们进行补偿,它在开始时看起来是正确的,但任何后续的刷新操作都会将 ScrollView 迁移到 -20px

最佳答案

在 Xcode 中进一步测试后,我原来的解决方法仍然有效,但真正的罪魁祸首似乎是导航 Controller 与 View Controller 上的 Adjust Scroll View Insets 标志相结合。禁用解决了问题。

[self setAutomaticallyAdjustsScrollViewInsets:NO];

原始解决方法:尝试重新排序您的 View 层次结构或在顶部添加一个空 View 。

这发生在我身上,当 UIScrollView 或类似的子类位于层次结构中的第一个时,它会偏移 20 个像素(以防止它点击状态栏)。但是,即使所讨论的 View 远离顶部,这种情况仍然会发生。

这在 Interface Builder 中是可重现的,对我来说一个简单的解决方法是重新排序我的 View ,以便标签或按钮首先位于 View Controller 的 View 下方。如果这在您的情况下是不可能的,那么在 ScrollView 上方添加一个空 View (甚至在屏幕外)似乎也可以解决问题。

关于ios7 所有 searchviews 和 tableviews 关闭 20 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796025/

有关ios7 所有 searchviews 和 tableviews 关闭 20 像素的更多相关文章

  1. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  2. ruby-on-rails - 跳过状态机方法的所有验证 - 2

    当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested

  3. ruby - Nokogiri 剥离所有属性 - 2

    我有这个html标记:我想得到这个:我如何使用Nokogiri做到这一点? 最佳答案 require'nokogiri'doc=Nokogiri::HTML('')您可以通过xpath删除所有属性:doc.xpath('//@*').remove或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:doc.traversedo|node|node.keys.eachdo|attribute|node.deleteattributeendend 关于ruby-Nokog

  4. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  5. ruby-on-rails - 如何在 Rails Controller Action 上触发 Facebook 像素 - 2

    我有一个ruby​​onrails应用程序。我按照facebook的说明添加了一个像素。但是,要跟踪转化,Facebook要求您将页面置于达到预期结果时出现的转化中。即,如果我想显示客户已注册,我会将您注册后转到的页面作为成功对象进行跟踪。我的问题是,当客户注册时,在我的应用程序中没有登陆页面。该应用程序将用户带回主页。它在主页上显示了一条消息,所以我想看看是否有一种方法可以跟踪来自Controller操作而不是实际页面的转化。我需要计数的Action没有页面,它们是ControllerAction。是否有任何人都知道的关于如何执行此操作的gem、文档或最佳实践?这是进入布局文件的像素

  6. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  7. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  8. ruby - 如何关闭 ruby​​ gem "Spreadsheet?"中的文件 - 2

    下面的代码在我第一次运行它时就可以正常工作:require'rubygems'require'spreadsheet'book=Spreadsheet.open'/Users/me/myruby/Mywks.xls'sheet=book.worksheet0row=sheet.row(1)putsrow[1]book.write'/Users/me/myruby/Mywks.xls'当我再次运行它时,我会收到更多消息,例如:/Library/Ruby/Gems/1.8/gems/spreadsheet-0.6.5.9/lib/spreadsheet/excel/reader.rb:11

  9. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  10. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

随机推荐