这是我的ScrollView:
middle: SC.ScrollView.design({
layout: { top: 36, bottom: 32, left: 0, right: 0 },
backgroundColor: '#ccc',
contentView: SC.ListView.design({
contentBinding: 'Spanish.wordsController.arrangedObjects',
selectionBinding: 'Spanish.wordsController.selection',
contentValueKey: "word",
contentDisplayProperties: 'word english'.w(),
selectOnMouseDown: YES,
exampleView: Spanish.CustomListItemView
})
})
这是我的自定义listView行:
Spanish.CustomListItemView = SC.View.extend({
render: function(context, firstTime){
var content = this.get('content');
var word = content.get('word');
var english = content.get('english');
context = context.begin().push(' %@ (%@)'.fmt(word,english)).end();
return sc_super();
}
});
除了我不能再选择视图外,上述工作正如预期的那样。当我注释掉“exampleView:Spanish.CustomListItemView”时,我可以选择行,但它们不再正确格式化。为什么我在使用exampleView时不能再选择行?
答案 0 :(得分:3)
改为使用子类SC.ListItemView。
删除return sc_super();
行。
将context = context.begin().push(' %@ (%@)'.fmt(word,english)).end();
行更改为:
context.push(' %@ (%@)'.fmt(word,english));
现在应该可以了。
答案 1 :(得分:0)
在获得IRC的帮助后,我做了以下修改来解决问题:
Spanish.CustomListItemView = SC.ListItemView.extend({
render: function(context, firstTime){
var content = this.get('content');
var word = content.get('word');
var english = content.get('english');
context.push(' %@ (%@)'.fmt(word,english));
}
});
我正在对错误的类进行子类化(注意第一行)