作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下图显示了 UIViewController
的 Xcode 图形调试层次结构。看起来我需要销毁 UITextViews
中的额外数据,这些数据在 UITextViews
数组中编辑后重新创建。每次我进行更改时,我都会将 UITextViews
的数组设置为 [],然后使用更新后的数据重新创建它。即使我验证 UITextView
数组确实被重置为零元素,然后用预期的元素数量重新创建,这些幻影图像仍然在屏幕上徘徊,调试层次结构显示某些东西没有被删除。
我怀疑我需要做一些内务处理来查找和销毁与 UITextViews
相关的额外数据,并且将数组设置回零并不会清除我的 subview 中的所有内容,但我不确定这可能是什么。我希望我的错误对于那些有更多经验的人来说是显而易见的,并且您会为我指明正确的方向。
我也在下面分享了一些代码,但我怀疑视觉可能是让有经验的人直截了当的最直接线索。
var topOfViewFrame: CGFloat = 0
textViewArray = []
for textBlock in textBlocks.textBlocksArray { // a textBlock has formatting data for a UITextView
let textBlockHeight = CGFloat(textBlock.numberOfLines) * textBlock.blockFontSize
let viewFrame = CGRect(x: 0, y: topOfViewFrame, width: textBoxWidth, height: textBlockHeight)
var newTextView = UITextView(frame: viewFrame)
newTextView.center = CGPoint(x: screenView.frame.width/2, y: topOfViewFrame + (textBlockHeight/2)) // screenView is the 320x240 subView holding the [UITextViews]
let viewFont = UIFont(name: "AvenirNextCondensed-Medium", size: textBlock.blockFontSize)
newTextView.font = viewFont
newTextView.text = textBlock.blockText
newTextView = configureTextBlockView(textBoxView: newTextView, textBlock: textBlock)
textViewArray.append(newTextView)
screenView.addSubview(newTextView) // screenView is the subview holding the [UITextViews]
topOfViewFrame += newTextView.frame.height // put the next UITextView directly below the previous one
}
谢谢!
最佳答案
如果您想从“screenView”中删除所有 TextView ,仅清除数组是不够的。您需要将其从 super View 中删除:
screenView.subviews.forEach({ $0.removeFromSuperview() })
关于iOS UITextViews 数据挥之不去,即使我清除了一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55761416/
我正在使用 cron 运行以下脚本,在/etc/cron.d/mycron 我有以下内容: */10 * * * * MyUserThatNeedsToRunTheScript /backup/ssh
我是一名优秀的程序员,十分优秀!