Чтобы обновить LinearLayout или любое представление, вы используете свой метод invalidate()
.
Редактирование: если вы хотите переоценить представление, вызовите его requestLayout()
. Не забудьте также аннулировать его.
Также ваше баннерное объявление Admob нарушает свою Политику. Баннерные объявления не могут накладываться на контент приложения.
Когда вы устанавливаете положение SCNNode
, вы определяете положение центральной точки узла, и именно поэтому ваш узел находится вертикально в середине плоскости.
Добавление половины высоты узла к оси y, вероятно, является очень простым способом размещения узла на плоскости, как вы уже упоминали:
let position = SCNVector3(planeHitTest.worldTransform.columns.3.x,
planeHitTest.worldTransform.columns.3.y + Float(box.height/2),
planeHitTest.worldTransform.columns.3.z)