我正在学习Xcode中的视图调试器并使用Debug> View Debugging> Capture View Hierarchy捕获视图层次结构.但是,当我在我的应用程序中尝试它时,我收到以下错误:
断言失败 - [UITextView _firstBaselineOffsetFromTop],/ BuildRoot/Library/Cache/com.apple.xbs/Source/UIKit_Sim/UIKit-3512.60.7/UITextView.m:1683
我可以在以下简单项目中重现这一点:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myTextView = UITextView()
myTextView.frame = CGRect(x: 50, y: 50, width: 200, height: 100)
myTextView.text = "This is a test."
view.addSubview(myTextView)
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到它可能是由于不使用自动布局造成的.这真的是一个我们必须等待修复的错误吗?是否有Swift解决方法?
更新
建议的副本看起来与我遇到的问题相同.但是,与那个问题不同,我要求Swift解决方法.这个问题的"答案"只是一个链接(我上面已经有过的链接).我投票以另一种方式关闭.
在我的下面的代码中:我在垂直scrollView中添加了5个按钮.每个按钮都被约束到scrollViews的顶部+20,前导,后缘及其高度.我创建了一个b1HeightConstraint变量.它是按住b1按钮的heightConstraint .
在按钮单击中,我正在尝试删除此约束.然而,我面临一个奇怪的问题:
当我记录约束时,我只看到2个约束,即使我已经添加了4个约束.我的视图调试层次结构如下所示:
import UIKit
import Foundation
class ViewController: UIViewController {
var filterView: UIView!
var scrollView: UIScrollView!
var containerView: UIView!
override func loadView() {
filterView = UIView()
view = filterView
view.backgroundColor = #colorLiteral(red: 0.909803926944733, green: 0.47843137383461, blue: 0.643137276172638, alpha: 1.0)
scrollView = UIScrollView()
scrollView.backgroundColor = #colorLiteral(red: 0.474509805440903, green: 0.839215695858002, blue: 0.976470589637756, alpha: 1.0)
view.addSubview(scrollView)
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
scrollView.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
scrollView.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 1).isActive …Run Code Online (Sandbox Code Playgroud) 在Xcode 9视图调试器中,我想在视图的三维爆炸图中选择一个视图,然后在左侧的层次结构中显示该视图.我知道我可以通过双击它或从上下文菜单中选择"Focus on UIView"来"聚焦"该视图.我知道我也可以按照我想要查找的视图类型的某些部分进行过滤,但实际上我只想查看我在一个步骤中在完整层次结构的上下文中进行选择.我还没有办法做到这一点 - 我错过了什么吗?