在处理构建过程更改时,我将width
和height
模块更新为最新版本(从16.2.6到17.2.4)。
现在当我尝试提供我的应用程序时,我的代码中出现了关于设置不存在的属性的错误,例如:
for (UIWindow* wind in [[UIApplication sharedApplication] windows]) {
for (UIView* currView in wind.subviews) {
if ([[currView description] containsString:@"UIInputSetContainerView"]) {
for (UIView* perView in currView.subviews) {
for (UIView *subView in perView.subviews) {
if ([[subView description] containsString:@"UIWebFormAccessory"]) {
[subView setHidden:true];
[subView removeFromSuperview];
// CGRect f = perView.frame;
// CGRect n = CGRectMake(0, f.origin.y, f.size.width, f.size.height-44.0);
// [perView setFrame:n];
}
}
}
}
}
}
现在我猜想,随着devextreme的更新,API也得到了更新。几分钟后,我正盯着valueIndicator的文档,似乎valueIndicator对象从来没有(即使在旧版本中)一个size属性!
我很困惑这是如何工作的。关于我做错的任何想法?
提前致谢。
答案 0 :(得分:0)
很多个小时之后,这是我发现的:
我在tsconfig文件中发现我的应用程序已经存在
提到dx.all.d.ts
的副本(版本:16.2.6,在我之前
更新)使用“files”属性。
其中有一个名为dx.all.legacy.d.ts
的文件
node_modules\devextreme\dist\ts
,其中包含接口的定义
BaseValueIndicatorwhich
匹配我的应用程序中的代码。
因此,为了解决我的问题,我所做的是从我的tsconfig中引用dx.all.legacy.d.ts
,如:
{
"compilerOptions": {
...
},
"files": [
"../node_modules/devextreme/dist/ts/dx.all.legacy.d.ts"
]
}
我不确定这是否是最好的方法,但我希望它有所帮助。