首页 文章

在Storyboard中添加的UIView的iOS超级视图是零

提问于
浏览
2

我的UIViews遇到了一些意想不到的行为,所以我决定打印一些有关视图及其超级视图的信息 . 当我试图这样做时,我的UIViews的超级视图返回nil .

我试图打印超级视图的UIViews被添加到Storyboard中的视图控制器中(通过从对象库中拖放),然后使用IBOutlet与视图控制器代码文件连接 . 此外,已在Identity Inspector中设置了正确的视图控制器代码文件类 . 具体来说,我的视图是UIPickerView,UILabel和UITextField . 当我尝试访问这些UIViews的超级视图时,我得到了零 . 我的印象是,当通过Storyboard添加UIViews时,它们成为视图控制器的视图层次结构的一部分 . 所以我的问题是:

1)我的假设是错的吗?那就是假设是零?如果是这样,当使用Storyboard或一些参考文档添加UIView时,获得有关如何设置视图层次结构的解释会很棒

2)如果不认为是零,那么什么可能使超级视图为零?

2 回答

  • 5

    如果将视图添加到与您运行的大小不同的大小类,则会发生这种情况 . 通过将故事板中的大小更改为W:Any H:Any,您可以获得所有设备类型的全部功能 .

    Storyboard Size Classes

  • 1

    如果 superviewnil ,则视图不在视图层次结构中 . 您可能在添加视图之前进行检查 . 尝试检查 awakeFromNib 方法 . 此时已 Build 层次结构 .

相关问题