Titanium добавление метки к представлению

#titanium #titanium-mobile

#titanium #titanium-мобильный

Вопрос:

Хорошо, ребята — я должен признать, что уровень моего разочарования растет, поскольку разработка Titanium продолжает бить меня по заднице. Каждое вносимое мной изменение, каким бы безобидным оно ни казалось, совершенно неожиданным образом нарушает что-то еще.

Сегодня я просто пытаюсь добавить метку в представление, но она не отображается.

 // UI Factory Include
var Inova = {};
Ti.include( '_ui.js' );

var win = Ti.UI.currentWindow;
win.layout = 'vertical';

// Header
win.add( Inova.ui.createHeaderView() );

// body
var body = Ti.UI.createView({
    backgroundColor:'#00f', // Should see no blue
    backgroundImage: '/images/body.png',
    height: 350,
    layout: 'vertical',
});
var label = Ti.UI.createLabel({
    color: '#000',
    text: 'Show me the label...please?',
    textAlign: 'center',
});
body.add( label );

win.add( body );
  

Я знаю, что мне не хватает чего-то невероятно глупого и простого, но я думаю, что потерял всякую способность видеть очевидное. Помогите?

Ответ №1:

Я думаю, вам нужно явно задать ширину / высоту в метке. Вы можете установить для него значение width: ‘auto’, height: ‘auto’, но оно должно быть установлено.

(Как ни странно, это не так в Andriod, по моему опыту).

Комментарии:

1. Похоже, вы правы. Я думаю, мне просто не приходило в голову, что я должен быть настолько откровенным во всем . Спасибо.

Ответ №2:

Всякий раз, когда API приводит меня в замешательство, я возвращаюсь к основам. Попробуйте это:

Создайте новый проект с именем MyTest. В apps.js файл добавьте следующий код в нижнюю часть файла над последней строкой

 var win3 = Titanium.UI.createWindow({  
  title:'Tab 3',
  backgroundColor:'#fff'
});
var tab3 = Titanium.UI.createTab({  
  icon:'KS_nav_ui.png',
  title:'Tab 3',
  window:win3
});

var label3 = Titanium.UI.createLabel({
 color:'#999',
  text:'I am Window 3',
  font:{fontSize:20,fontFamily:'Helvetica Neue'},
  textAlign:'center',
  width:'auto'
});

var txtLabel = Ti.UI.createLabel({
  color: '#000',
  text: 'Show me the label...please?',
  textAlign: 'center',
  left: 100,
  top: 50
});
win3.add( txtLabel );
win3.add(label3);
  

Ваша метка, txtLabel, теперь будет отображаться под label3 на tab3. Я попытался использовать предоставленный вами код, но не смог заставить его работать. Итак, начните с базовой страницы, на которой отображается метка, затем добавляйте другие компоненты, пока не получите ожидаемые результаты.

Надеюсь, это поможет.

Комментарии:

1. Черт возьми, я думал, что это основы. Создать представление. Поместите метку в представление. 🙂