0
現在我有一個滑動菜單的應用程序。主窗口的視圖是「主體視圖」。當用戶從滑動菜單中選擇一個項目時,它會更改將哪個視圖添加到主體視圖。下面是指數的.xml:鈦Appcelerator子視圖不在IOS中工作
<Alloy>
<Window class="container">
<View id="menuview">
<View id="menuheaderview">
<Label id="menuheaderlabel">Menu</Label>
</View>
<View id="menubodyview">
<TableView id="menutableview" onClick="select">
<TableViewRow class="menurowview">
<Label class="menulabel">News</Label>
</TableViewRow>
<TableViewRow class="menurowview">
<Label class="menulabel">Calendar</Label>
</TableViewRow>
<TableViewRow class="menurowview">
<Label class="menulabel">Homework</Label>
</TableViewRow>
<TableViewRow class="menurowview">
<Label class="menulabel">Classes</Label>
</TableViewRow>
<TableViewRow class="menurowview">
<Label class="menulabel">Information</Label>
</TableViewRow>
<TableViewRow class="menurowview">
<Label class="menulabel">Help</Label>
</TableViewRow>
</TableView>
</View>
</View>
<View id="mainview">
<View id="mainheaderview">
<Button id="menubutton" onClick="showhidemenu"/>
<Label id="mainheaderlabel">News</Label>
<Button id="addbutton" />
</View>
<View id="mainbodyview" ></View>
</View>
</Window>
</Alloy>
和控制器:
var menuOpen = false;
function showhidemenu(e) {
if (menuOpen) {
moveTo = "0";
menuOpen = false;
} else {
moveTo = "35%";
menuOpen = true;
}
$.mainview.width = Ti.Platform.displayCaps.platformWidth;
$.mainview.animate({
left : moveTo,
curve : Ti.UI.ANIMATION_CURVE_EASE_OUT,
duration : 300
});
};
function select(e) {
for (var i = 0; i < e.section.rows.length; i++) {
e.section.rows[i].backgroundColor = '#212429';
}
var selectedRow = e.row;
selectedRow.backgroundColor = 'yellow';
if ($.mainbodyview.children.length) {
$.mainbodyview.removeAllChildren();
}
//*************add your view here*******************
if (selectedRow.children[0].text == 'News') {
$.mainheaderlabel.setText('News');
$.addbutton.visible = false;
$.mainbodyview.add(Alloy.createController('news').getView());
} else if (selectedRow.children[0].text == 'Homework') {
$.mainheaderlabel.setText('Homework');
$.addbutton.visible = true;
$.mainbodyview.add(Alloy.createController('homework').getView());
} else if (selectedRow.children[0].text == 'Information') {
$.mainheaderlabel.setText('Information');
$.addbutton.visible = false;
$.mainbodyview.add(new Alloy.createController('information').getView());
} else if (selectedRow.children[0].text == 'Calendar') {
$.mainheaderlabel.setText('Calendar');
$.addbutton.visible = false;
//$.mainbodyview.add(Alloy.createController('calendar').getView());
} else if (selectedRow.children[0].text == 'Classes') {
$.mainheaderlabel.setText('Classes');
$.addbutton.visible = false;
//$.mainbodyview.add(Alloy.createController('classes').getView());
} else if (selectedRow.children[0].text == 'Help') {
$.mainheaderlabel.setText('Help');
$.addbutton.visible = false;
$.mainbodyview.add(Alloy.createController('help').getView());
} else {
}
//**************************************************
showhidemenu();
};
$.index.open();
$.mainbodyview.add(Alloy.createController('news').getView());
是在IOS破譯密碼的部分是$.mainbodyview.add(Alloy.createController('news').getView());
和這樣的事情。它在Android上完美運行。有沒有我缺少的IOS兼容?
什麼是錯誤信息? – daniula
沒有錯誤消息,沒有加載到mainbodyview中。 –
你可以從模擬器添加你的.tss文件和屏幕截圖嗎? 它看起來像所有工作,但你正在加載查看顯示在屏幕之外,這就是爲什麼它看起來像破碎。 確保所有元素都可見,並將其背景顏色更改爲明亮的東西。 – daniula