Создайте оверлей для Titanium Mobile TableView - PullRequest
0 голосов
/ 18 апреля 2011

Я пытаюсь создать DatePicker, который скользит по TableView для редактирования поля даты. Проблема в том, что DatePicker появляется за TableView - вы можете видеть его часть, потому что TableView прозрачен.

enter image description here

Я пытался дать одному более высокое значение zIndex, чем другому, в обоих направлениях, но это не помогло. Datepicker - это средство выбора в представлении, которое я поднимаю с анимацией.

Как можно наложить TableView на другой вид?

Редактировать: таблица довольно сложна из-за различных типов данных в ней, поэтому копирование и вставка будут излишними. Но вот соответствующая часть:

var win = Ti.UI.createWindow();
var table = Ti.UI.createTableView({zIndex: 1});

// some table sections are added here

// create picker layer
var row = Ti.UI.createTableViewRow({zIndex: 2});
var picker_view = Titanium.UI.createView({
  height: 251,
  bottom: -251,
  zIndex: 3,
  visible: false
  });

var picker = Ti.UI.createPicker({
  type: Ti.UI.PICKER_TYPE_DATE,
  selectionIndicator: true
  });
picker_view.add(picker);

row.addEventListener('click', function()
  {
  picker_view.visible = true;
  var slide_in = Titanium.UI.createAnimation({bottom:0});
  picker_view.animate(slide_in);
  });

row.add(picker_view);

some_section.add(row);
win.add(table);

Спасибо!

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

Попробуйте добавить сборщик в окно, которого нет в таблице.

2 голосов
/ 18 апреля 2011

не добавляйте вид в строку, добавляйте его в окно.

не устанавливайте видимость в представлении, это не имеет значения, поскольку вы перемещаете его вверх и вниз.

также выдействительно путают вещи с zIndexes, они в действительности не нужны в этом случае использования.

...