Старый это, я знаю, но ... Вместо того, чтобы определять кнопку, которая будет изначально скрыта в CSS, определите ее с помощью класса ui-helper-hidden.Таким образом, он будет скрыт до тех пор, пока вы его не создадите.display: none скрывает элемент и не занимает места.Элемент будет скрыт, и страница будет отображаться так, как если бы элемента там не было.Это отличается от того, чтобы сделать кнопку скрытой, так как в этом случае она по-прежнему должна занимать место на экране.
Если вам нужно, чтобы она изначально оставалась скрытой после создания экземпляра, вы можете скрыть ее
$elem.button().hide();
Получившаяся кнопка пользовательского интерфейса jQuery будет отображать: inline-block, переопределяя отображение ui-helper-hidden: нет.
У меня никогда не было проблем с рендерингом странным образом, поэтому ваша проблема могла иметь основную проблему.