別のビュー(viewA)の上にビュー(viewB)を配置しています。下のviewAには2つのボタンがあり、btn1はクリックでき、btn2はクリックできません。理想的には、クリック伝播をviewBからbtn2に渡したいと思います。
問題は、viewBのzIndexがviewAよりも高いことに関係していることを認識しています。つまり、ボタンは完全に表示されていますが、技術的にはbtn2がその背後にあります。
とにかく、それを再構築せずにクリック伝播を渡すことはありますか?
これは実際のコードの非常に単純化されたバージョンであり、viewBにbtn2を追加することはできません。実際のコードでのbtn2の正確な位置は不明です。これは、すべて独自の上部と左側を持つ他の多くのビューの子です。
それが不可能な場合、私も同様にそれを聞くことに興味があります。ありがとう。
iPhone/iPad用のビルドTi.SDK2.0.2.v20120417133255Ti.Studio 2.0.1 xCode 4.3.2
var w
in = Titanium.UI.createWindow({
backgroundColor:'#fff'
});
var viewA = Ti.UI.createView({
backgroundColor: '#DDD',
});
var btn1 = Ti.UI.createButton({
top: 50,
title: 'Click 1',
height: 50,
width: 150,
zIndex: 100,
});
btn1.addEventListener('click', function(){
alert('click 1');
});
viewA.add(btn1);
var btn2 = Ti.UI.createButton({
top: 150,
title: 'Click 2',
height: 50,
width: 150,
zIndex: 100,
});
btn2.addEventListener('click', function(){
alert('click 2');
});
viewA.add(btn2);
var viewB = Ti.UI.createView({
top: 120,
zIndex: 20,
borderWidth: 1,
borderColor: '#0000FF',
// backgroundColor: '#0000FF',
// opacity: 0.5
});
win.add(viewA);
win.add(viewB);
win.open();
var win = Titanium.UI.createWindow({
backgroundColor:'#fff'
});
var viewA = Ti.UI.createView({
backgroundColor: '#DDD',
});
var btn1 = Ti.UI.createButton({
top: 50,
title: 'Click 1',
height: 50,
width: 150,
zIndex: 100,
});
btn1.addEventListener('click', function(){
alert('click 1');
});
viewA.add(btn1);
var btn2 = Ti.UI.createButton({
top: 150,
title: 'Click 2',
height: 50,
width: 150,
zIndex: 100,
});
btn2.addEventListener('click', function(){
alert('click 2');
});
viewA.add(btn2);
var viewB = Ti.UI.createView({
top: 120,
zIndex: 20,
borderWidth: 1,
borderColor: '#0000FF',
// backgroundColor: '#0000FF',
// opacity: 0.5
});
win.add(viewA);
win.add(viewB);
win.open(
);