我正在嘗試將其他界面元素添加到我的iOS應用中的showCamera顯示。更改showCamera覆蓋的大小
我知道我可以添加下面的代碼覆蓋。問題:這個覆蓋圖總會有具有整個屏幕的大小。這是相機的默認控制元素(閃光燈,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
的大小或我怎麼否則使標準控制元件訪問,同時還讓我在我自己的控件扔
不透明度不影響這一點。即使視圖是無形的,它也使我無法控制它背後的控制。 – Lasar 2011-04-29 18:51:46
恐怕,在裏面添加另一個視圖也無濟於事。如果我將父元素設置爲'touchEnabled:false',那麼這也適用於所有子元素,但沒有辦法(我知道)要改變它。 – Lasar 2011-04-29 18:52:39
我知道Child元素從父級獲得'touchEnabled'屬性,但是您可以覆蓋每個Child。然而,在仔細觀察KitchenSink之後,他們提供的相機覆蓋看起來確實覆蓋了默認的相機控制。 – bh88 2011-04-29 18:52:40