我刚刚下载了新的 Xcode GM,在解决了大量错误之后,我的 swift 项目完美运行(耶!)。但是今天我尝试在 iOS 8 设备上安装该应用程序,现在我所有的表格和 Collection View 都破坏了该应用程序。麻烦来自这样的事情:
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CollectionCellCB", forIndexPath: indexPath) as UICollectionViewCell
var pic = cell.contentView.viewWithTag(10) as UIImageView
pic.image = DisplayImage;
我已经仔细检查了我的 Storyboard,以确保我有一个带有该重用标识符的单元格和一个带有该标签的 uiimage View ,但它在这里和其他场景中都不起作用。 它在我的 iOS 7 设备上工作得很好,但在 iOS 8 上每次都会中断。我希望这是一个错误,但我不能确定。还有其他人遇到此问题或知道如何解决吗?
主要问题是,当我调用 viewWithTag 时,该函数返回 nil 而不是像在 iOS 7 和更早版本中那样返回对 View 的引用。
最佳答案
我遇到了同样的问题。有些单元格不显示任何内容是 iOS8。 viewWithTag 未返回 subview 。
似乎是单元格未正确创建且 subview 不存在。下面是两个具有不同标识符的单元格的内容 - 第一个已损坏,第二个正在运行:
(lldb) po [cell recursiveDescription]
<tSettingsViewCell: 0x7a5d7950; baseClass = UITableViewCell; frame = (0 0; 695 44); text = 'WiFi'; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7a5d7af0>>
| <_UITableViewCellSeparatorView: 0x7a5d77f0; frame = (15 43; 680 1); layer = <CALayer: 0x7a5d8500>>
(lldb) po [cell recursiveDescription]
<tSettingsViewCell: 0x7a430210; baseClass = UITableViewCell; frame = (0 0; 695 44); text = 'Server'; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7a4301e0>>
| <UITableViewCellContentView: 0x7a430170; frame = (0 0; 669 44); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x7a429850>; layer = <CALayer: 0x7a430140>>
| | <UITableViewLabel: 0x7a430080; frame = (15 0; 645 44); text = 'Server'; clipsToBounds = YES; opaque = NO; layer = <_UILabelLayer: 0x7a430030>>
| | <UITextField: 0x7a42f980; frame = (495 8; 185 30); text = ''; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; tag = 200; layer = <CALayer: 0x7a42fce0>>
| <_UITableViewCellSeparatorView: 0x7a42ad10; frame = (15 43; 680 1); layer = <CALayer: 0x7a42aad0>>
| <UIButton: 0x7a42a870; frame = (677 16; 8 13); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7a42a840>>
| | <UIImageView: 0x7a4295a0; frame = (0 0; 8 13); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7a429660>>
Storyboard未使用自动布局。
我还没弄清楚为什么会这样。
编辑:
原来自定义单元格过滤掉了顶部分隔符 View (没有将其添加到 subview ),这似乎破坏了一切。当所有 subview 都传递给 addSubview:(UIView*)view 中的 super 时,它又开始工作了。还是很神秘...
关于ios - ViewWithTag 从 iOS 8 开始不再有效? swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25797596/
这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][
这里有一个很好的答案解释了如何在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返回它复制的字节数,但是当我还没有下
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上
我正在开发一个Rails应用程序,我需要在其中找到给定特定偏移量或时区的夏令时开始和结束日期。我基本上在我的数据库中保存了从用户浏览器接收到的时区偏移量(“+3”,“-5”),我想在它出现时修改它由于夏令时的变化。我知道Time实例变量有dst?和isdst方法,如果存储在它们中的日期在夏令时与否。>Time.new.isdst=>true但是使用它来查找夏令时的开始和结束日期会占用太多资源,而且我还必须为我拥有的每个时区偏移量执行此操作。我想知道更好的方法。 最佳答案 好的,基于你所说的和@dhouty'sanswer:您希望能够
好的,所以我有了我正在使用的应用程序的这种方法,它可以在生产中使用。我的问题为什么这行得通?这是新的Ruby语法吗?defeditload_elements(current_user)unlesscurrent_user.role?(:admin)respond_todo|format|format.json{render:json=>@user}format.xml{render:xml=>@user}format.htmlendrescueActiveRecord::RecordNotFoundrespond_to_not_found(:json,:xml,:html)end
我有一台生产机器和一台开发机器,都运行ubuntu8.10并且都运行最新的phusionpassenger。当我在osx上的本地开发机器上使用ruby1.9.1时,我想知道外面的人是否已经在使用带有ruby1.9.1甚至1.9.2的phusionpassenger?如果是这样,请告诉我们您的设置!此外,有没有办法在apache上使用phusionpassenger同时运行ruby1.8.7(ree)和1.9.1?感谢您的指点,我在任何地方都找不到任何提示... 最佳答案 是的,从某些2.2.x版本开始就正式支持它,我不记