UIView с правильным autolayout не возвращает правильный внутренний размер контента.Я получаю (-1,0, -1,0), хотя я вижу, что он правильно настроен как на раскадровке, так и при запуске приложения.
Я попытался создать игровую площадку, которая создает UIView (a) иUILabel.Я добавляю свой ярлык как подпредставление (a) и устанавливаю ограничения left, right, top, bottom.Я также установил некоторый текст и убедился, что мой ярлык имеет правильный внутренний размер (что он и делает).Мое представление (a) возвращает (-1.0, -1.0) для внутреннего размера контента.
Я также попытался создать новый проект с раскадровкой.Я добавил UIView (a) в свой вид и центрировал его (X и Y).Я добавил UILabel к моему (a) представлению и ограничился слева, справа, сверху, снизу.Я вижу, что (а) правильно смотрит размеры.Когда я запускаю приложение, я вижу, что оно по-прежнему имеет правильный размер.Мое представление (a) возвращает (-1.0, -1.0) для внутреннего размера контента.
Я нахожу это чрезвычайно странным, учитывая, что UIView делает макет в соответствии с его внутренним размером контента (то есть подпредставления и связанные ограничения).
Если предположить, что мои ограничения надписей к краям моего (а) вида - все расстояния 0, то я ожидаю, что у моего (а) вида будет внутренний размер содержимого, равный размеру рамки моего ярлыка (которыйосновывается на собственном размере метки, но это своего рода спор)size.
(Фрейм представления (a) возвращает правильный размер, но это на самом деле не отвечает на мой вопрос. Также - это не полезно для моей конкретной ситуации, но это выходит за рамкиэтот вопрос.)