Извините, я только что нашел проблему:
Я не добавил ее, поскольку сообщение об ошибке сбивало с толку / неправильно сформулировано.
Я использовал Resources.FindObjectsOfTypeAll
для проверки наличия exampleParent
типа SomeType
на сцене.
Следуя примеру Unity, который должен исключить префабы, я использовал
// Validation for the Menu item
[MenuItem("Example/Create Clone", true]
private bool TargetAvailable()
{
foreach (var target in (SomeType[])Resources.FindObjectsOfTypeAll(typeof(SomeType))
{
if (target.hideFlags == HideFlags.NotEditable || target.hideFlags == HideFlags.HideAndDontSave)
continue;
if (!EditorUtility.IsPersistent(target.transform.root.gameObject))
continue;
exampleParent = target.transform;
return true;
}
exampleParent = null;
return false;
}
Но это на самом деле неправильно и не работает, так как оно всегда возвращалось мне ссылку SomeType
из сборных! (Мне уже показалось немного странным, что они делают
!EditorUtility.IsPersistent(target.transform.root.gameObject))
continue;
Я не уверен, что этот !
может быть типом в их примере кода?!
Так ошибка, которая звучит так, как если бы установка родителя не была разрешена, на самом деле означает и должна сказать
установка родителя в . Преобразование, которое находится в префабе, не допускается. .
blockquote>, чем я нашел бы актуальную проблему в первую очередь.
Так что снова в качестве обходного пути, пока я не смогу выяснить, что
FindObjectsOfTypeAll
вместо этого я переключился наObject.FindObjectOfType
, предполагая, что моя цель всегда будет активной на сцене. И использованиеSetParent
теперь работает вместе сPrefabUtitlity.InstantiatePrefab
.
Я полагаю, что "надлежащий" путь состоит в том, чтобы заставить их встроить элементы:
style="display: inline;"
отделения являются элементами блока и заполняют их контейнер, промежутки являются встроенными элементами и уменьшением для установки их содержанию.
Можно или использовать промежутки в качестве контейнеров или просто добавить вышеупомянутый стиль к отделениям.
Удачи!
Чтобы заставить блок отобразиться как встроенный элемент, можно использовать
display: inline-block;
Предотвратить полосы прокрутки для #outerDiv
Вы могли установить макс. ширину и переполнить свойств:
#outerDiv {
max-width: 300px;
overflow: hidden;
}
Таким образом Вы не гарантируете полос прокрутки, и я предполагаю, что ширина iframe никогда не более широка, чем 300 пикселей. Также обязательно установите frameborder="0"
на iframe и проверке поля на теле включенного HTML.