Я хотел бы предложить, а затем изменить размер пирога, изменить высоту и ширину таблицы и сделать поповер размером к нему с простым вспомогательной функцией (СТГ., Как это :)
function resizepopover() {
popover.height = popover.children[0].height;
popover.width = popover.children[0].width
Ti.API.info("Popover Width: " + popover.width)
Ti.API.info("Table Width:" + table.width)
Ti.API.info("Popover height: " + popover.height)
Ti.API.info("Table height:" + table.height)
}
Одна вещь, я заметил, что вы создаете таблицу и popover внутри eventlistener, , что означает, что каждый раз, когда вы нажимаете ярлык, создается новый экземпляр Popover и новый экземпляр таблицы (он должен получить собранный мусор, потому что вы перезаписывайте его каждый раз, и больше не должно быть ссылок на старый), но я бы избегал этого
И создайте popover и таблицу вне eventlistener. И это функция событий щелчка вы можете просто вызвать метод popover и метод resizepopover
.
var popover = Ti.UI.iPad.createPopover({
title : 'Search',
arrowDirection : Ti.UI.iPad.POPOVER_ARROW_DIRECTION_UP,
backgroundColor : 'white',
layout: 'horizontal',
height:"auto",
width:"auto"
});
var table = Titanium.UI.createTableView({
top: 0,
left: 0,
right: 0,
bottom: 0,
height:900,
width:700
});
popover.add(table);
label1.addEventListener('click', function (e) {
popover.show({
view : label1,
animated : true
});
resizepopover();
});
в случае Gesture Слушатель набор таблиц ширина вместо этого Popovers ширина
[...]
if(root.ui.isPortrait || root.ui.isLandscape) {
if(root.ui.isPortrait) {
table.width = 600;
table.height = 800;
Ti.API.info('Portrait');
} else {
table.width = 800;
table.height = 600;
Ti.API.info('Landscape');
}
resizepopover();
}
[...]
Это один Возможный путь,
Я добавил Resources.zip на Dropbox
я не могу загрузить исходный код, так как Appcelerator всегда показывает пожалуйста, Логин экран, хотя я уже вошел в – C5H8NNaO4
http://dl.dropbox.com/u/17595051/TestPopover. zip –