2

Titanium で高さ 100% のビューを追加しようとすると、表示の問題が発生します。Android では正しく表示されますが、iOS では表示されません。簡略化されたコードは次のとおりです。

Ti.UI.setBackgroundColor('#000');

var win = Ti.UI.createWindow({  
    title:'win',
    backgroundColor:'#fff'
});

var s = Ti.UI.createView({
    width:'100%',
    height:'100%',
    backgroundColor:'red',
    layout: 'horizontal'
});

var r = Ti.UI.createView({
    backgroundColor:'yellow',
    width:300,
    height:'100%' // problem
})

s.add(r);

win.add(s);
win.open();

Android での結果 (正しい): アンドロイド

iPad での結果: iPad

高さを有限数に設定しても機能しますが、ビューが高さ全体をカバーするようにします。どうすればこれを達成できますか? iOS で 100% の高さが機能しないのはなぜですか?

4

1 に答える 1

1

おそらく、 aviewに aを追加することに関係していviewます。に を追加yellow viewし、両方のビューにwindow与えるzIndexと、正しく機能します。

ドキュメントによると、レイアウトプロパティが存在しないためleft: 0;ではなく、左に配置するには、を使用する必要があります。layout: 'horizontal'

var s = Ti.UI.createView({
    width:'100%',
    height:'100%',
    backgroundColor:'red',
    zIndex: 1
});

var r = Ti.UI.createView({
    backgroundColor:'yellow',
    width:300,
    height:'100%', // no problem
    zIndex: 2,
    left: 0
});

win.add(r);
于 2011-11-11T12:26:33.010 に答える