嗨,伙计们,我对IOS13上的listview组件有问题,我试着更新到最新版本,但这不起作用
我通过修补listview.ios.js修复了它,就像评论中建议的那样,直接在node_modules中进行修补:
https://github.com/NativeScript/nativescript-ui-feedback/issues/1160#issuecomment-542039004
这是很好的工作,但有什么不同的补丁吗?
例如:
我尝试创建新文件app-platform.ios.js
并将缺失的方法直接附加到列表视图,如:
const listview = require('nativescript-ui-listview');
listview.ListViewCell.prototype.systemLayoutSizeFittingSizeWithHorizontalFittingPriorityVerticalFittingPriority = function (targetSize, horizontalFittingPriority, verticalFittingPriority) {
if (this.view && this.view.itemView && this.view.itemView.parent) {
var owner = this.view.itemView.parent;
owner._preparingCell = true;
var dimensions = owner.layoutCell(this, undefined);
owner._preparingCell = false;
return CGSizeMake(view_1.layout.toDeviceIndependentPixels(dimensions.measuredWidth), view_1.layout.toDeviceIndependentPixels(dimensions.measuredHeight));
}
return targetSize;
};但是这会增加我的应用程序,我不能调用未定义的方法:/
发布于 2019-12-23 23:34:08
如果有人还需要这个,可以在您的main.js路径列表视图中解决这个问题。
const application = require('application');
if (application.ios) {
const view_1 = require("tns-core-modules/ui/core/view");
const listView = require('nativescript-ui-listview');
listView.ExtendedListViewCell.prototype.systemLayoutSizeFittingSizeWithHorizontalFittingPriorityVerticalFittingPriority = function (targetSize, horizontalFittingPriority, verticalFittingPriority) {
if (this.view && this.view.itemView && this.view.itemView.parent) {
var owner = this.view.itemView.parent;
owner._preparingCell = true;
var dimensions = owner.layoutCell(this, undefined);
owner._preparingCell = false;
return CGSizeMake(
view_1.layout.toDeviceIndependentPixels(dimensions.measuredWidth),
view_1.layout.toDeviceIndependentPixels(dimensions.measuredHeight)
);
}
return targetSize;
};
}https://stackoverflow.com/questions/59355398
复制相似问题