Я пытаюсь добавить дополнительные элементы интерфейса для отображения showCamera в моем приложении для iOS.
Я знаю, что могу добавить оверлей с кодом ниже. Проблема: этот оверлей будет всегда иметь размер всего экрана. Это проблема, поскольку элементы управления камеры по умолчанию (вспышка, HDR, переключатель камеры) больше не доступны.
Установка touchEnabled: false
в createView()
делает так, чтобы все события были пропущены. Это заставляет работать оригинальные элементы управления за счет того, что мои новые элементы вообще не доступны.
Так что моя идея состояла в том, чтобы уменьшить вид, чтобы он не мешал оригинальным элементам сверху. Мои собственные элементы управления будут располагаться посередине / справа, поэтому никакого конфликта нет. Однако, не такая удача.
Установка height
/ width
атрибутов в createView
ничего не делает. Установка этих свойств позже (напрямую или через animate()
не имеет никакого эффекта.
Мой упрощенный код:
var myOverlay = Titanium.UI.createView({
backgroundColor: '#0F0', // just to see what is happening
height: 200 // does not work
// touchEnabled: false
// touchEnabled apparently can't be re-enabled for objects contained within this view.
});
var mySlider = Titanium.UI.createSlider({
[...]
});
myOverlay.add(mySlider);
Titanium.Media.showCamera({
overlay: myOverlay,
[...]
});
myOverlay.height = 200; // does not work
myOverlay.animate({height: 200}); // does not work
Все эти методы для управления высотой работают, когда я добавляю одно и то же наложение в окно или другое наложение. Не так, когда я использую showCamera()
.
Вопрос : Как я могу контролировать размер myOverlay
или как сделать доступными стандартные элементы управления, в то же время позволяя мне добавлять свои собственные элементы управления?