繁体   English   中英

扩展Titanium对象在iOS上不起作用

[英]Extending Titanium Objects Doesn't Work on iOS

我想知道是否有人可以解释为什么Titan View代理的扩展在iOS上不起作用,而在Android平台上却可以正常工作。

Ti Mobile SDK:1.7.0RC1和1.6.2 iOS SDK:4.2 Android API:(Google API)2.2

这是一个非常简单的用例:

var useCaseView = Ti.UI.createView({
layout: 'vertical',
right:0,
left:0, 
top:0,
height:200,
backgroundColor:'#fff'
});



var outputSwitch = Ti.UI.createSwitch({ 
value: true
}); 



outputSwitch.setTopValue = function(newValue) {
Ti.API.info('setTop' + newValue);
outputSwitch.top = newValue; 
};



outputSwitch.setTopValue(50);



useCaseView.add(outputSwitch);

我要完成的工作是向交换机的视图代理(在本例中为setTopValue)添加一个方法,然后在事后调用它。

这在Android上运行良好,但是在iOS上,Ti.API.info调用甚至都没有被点击,表明它只是忽略了该方法。

尽管这个例子很简短,但我真正想做的是开箱即​​用的“子类” Titanium UI组件,并添加一些共享的通用方法,以减少重复的代码。

有谁知道iOS SDK是否会以某种方式禁止对其“原始” UI组件进行子类化?

我们在其他地方收到了答案(或更确切地说,解决方法):

我发现以“ get”或“ set”为前缀的命名功能会引起问题。 尝试重命名功能-Aaron Saunders

果然,重命名该函数会使此代码按预期工作。

http://developer.appcelerator.com/question/121114/extending-objects-not-working-on-iphone

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM