0

Ребята У меня возникает проблема «Как изменить размер» на «Изменение ориентации». Пожалуйста, возьмите Demo source-code.Ti.UI.iPad.createPopover вопрос о калибровке при изменении ориентации

Выполните следующие шаги, чтобы восстановить эту проблему:

  • Загрузить прилагаемый исходный код, открыть и запустить его. :)

    => Вы увидите белое окно с единственной неназванной кнопкой в ​​верхней части окна.

  • Нажмите на кнопку.

    => Он откроет управление Popover с помощью кнопки. Он содержит пустой Tableview.

  • Изменение ориентации iPad с портрета < -> Пейзаж.

    => Проверьте, что при изменении ориентации размер Popover изменяется, но размер внутреннего содержимого (Tableview) не изменяется. Таким образом, он оставляет голубые пустые части вокруг Tableview.

Пожалуйста, дайте мне знать, если есть какой-либо ответ, чтобы лечить Popovers и завоевать их сердца.

Спасибо.

+0

я не могу загрузить исходный код, так как Appcelerator всегда показывает пожалуйста, Логин экран, хотя я уже вошел в – C5H8NNaO4

+0

http://dl.dropbox.com/u/17595051/TestPopover. zip –

ответ

0

Я хотел бы предложить, а затем изменить размер пирога, изменить высоту и ширину таблицы и сделать поповер размером к нему с простым вспомогательной функцией (СТГ., Как это :)

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

+0

ok Спасибо.Я попробую. –

0

Титан создал билет для этой проблемы, и это их внутренняя ошибка.

Ticket Link

Смежные вопросы