我将一个视图 (viewB) 放在另一个视图 (viewA) 的顶部。下面viewA有两个按钮,btn1可以点击,btn2不能点击。理想情况下,我想将点击传播从 viewB 传递到 btn2。
我意识到问题在于 viewB 上的 zIndex 高于 viewA,这意味着 btn2 在技术上在它后面,尽管按钮是完全可见的。
无论如何都要在不重组的情况下传递点击传播?
这是真实代码的一个非常简化的版本,简单地将 btn2 添加到 viewB 是不可能的,btn2 在真实代码中的确切位置是未知的,它是许多其他视图的子视图,它们都有自己的顶部和左侧。
如果不可能,我同样有兴趣听到。谢谢。
为 iPhone/iPad 构建 Ti.SDK 2.0.2.v20120417133255 Ti.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(
);