diff --git a/ios/sdk/WeexSDK/Sources/Component/WXCellComponent.mm b/ios/sdk/WeexSDK/Sources/Component/WXCellComponent.mm index bb59c8b78e..0d26ec27a8 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXCellComponent.mm +++ b/ios/sdk/WeexSDK/Sources/Component/WXCellComponent.mm @@ -24,6 +24,7 @@ #import "WXComponent_internal.h" #import "WXDiffUtil.h" #import "WXComponent+Layout.h" +#import "WXAssert.h" @interface WXCellComponent () @@ -154,6 +155,10 @@ - (void)_assignCalculatedFrame:(CGRect)frame else { frame.origin.y = 0.0f; // only ignore y } + WXAssert(!isnan(frame.size.height), @"Height of cell should not be NAN."); + if (isnan(frame.size.height) || frame.size.height < 0.0f) { + frame.size.height = 0.0f; + } _calculatedFrame = frame; } diff --git a/ios/sdk/WeexSDK/Sources/Component/WXHeaderComponent.mm b/ios/sdk/WeexSDK/Sources/Component/WXHeaderComponent.mm index b97057e032..c555a23c60 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXHeaderComponent.mm +++ b/ios/sdk/WeexSDK/Sources/Component/WXHeaderComponent.mm @@ -20,6 +20,7 @@ #import "WXHeaderComponent.h" #import "WXComponent_internal.h" #import "WXComponent+Layout.h" +#import "WXAssert.h" @implementation WXHeaderComponent { @@ -75,6 +76,10 @@ - (BOOL)_isCaculatedFrameChanged:(CGRect)frame - (void)_assignCalculatedFrame:(CGRect)frame { frame.origin = CGPointZero; + WXAssert(!isnan(frame.size.height), @"Height of header should not be NAN."); + if (isnan(frame.size.height) || frame.size.height < 0.0f) { + frame.size.height = 0.0f; + } _calculatedFrame = frame; } diff --git a/ios/sdk/WeexSDK/Sources/Layout/WXLayoutConstraint.h b/ios/sdk/WeexSDK/Sources/Layout/WXLayoutConstraint.h deleted file mode 100644 index 8a10df4a49..0000000000 --- a/ios/sdk/WeexSDK/Sources/Layout/WXLayoutConstraint.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// WXLayoutConstraint.h -// Pods-WeexDemo -// -// Created by 邹明 on 2018/6/26. -// - -#import - -@interface WXLayoutMargin : NSObject - -@property (nonatomic,assign,readonly) float top; -@property (nonatomic,assign,readonly) float bottom; -@property (nonatomic,assign,readonly) float left; -@property (nonatomic,assign,readonly) float right; - -- (instancetype)initWithTop:(float)top bottom:(float)bottom left:(float)left right:(float)right; - -@end - -@interface WXLayoutPadding : NSObject - -@property (nonatomic,assign,readonly) float top; -@property (nonatomic,assign,readonly) float bottom; -@property (nonatomic,assign,readonly) float left; -@property (nonatomic,assign,readonly) float right; - -- (instancetype)initWithTop:(float)top bottom:(float)bottom left:(float)left right:(float)right; - -@end - -@interface WXLayoutBorderWidth : NSObject - -@property (nonatomic,assign,readonly) float top; -@property (nonatomic,assign,readonly) float bottom; -@property (nonatomic,assign,readonly) float left; -@property (nonatomic,assign,readonly) float right; - -- (instancetype)initWithTop:(float)top bottom:(float)bottom left:(float)left right:(float)right; - -@end diff --git a/ios/sdk/WeexSDK/Sources/Layout/WXLayoutConstraint.m b/ios/sdk/WeexSDK/Sources/Layout/WXLayoutConstraint.m deleted file mode 100644 index 22c6960146..0000000000 --- a/ios/sdk/WeexSDK/Sources/Layout/WXLayoutConstraint.m +++ /dev/null @@ -1,50 +0,0 @@ -// -// WXLayoutConstraint.m -// Pods-WeexDemo -// -// Created by 邹明 on 2018/6/26. -// - -#import "WXLayoutConstraint.h" - -@implementation WXLayoutMargin - -- (instancetype)initWithTop:(float)top bottom:(float)bottom left:(float)left right:(float)right{ - if (self = [super init]) { - _top = top; - _bottom = bottom; - _left = left; - _right = right; - } - return self; -} - -@end - -@implementation WXLayoutPadding - -- (instancetype)initWithTop:(float)top bottom:(float)bottom left:(float)left right:(float)right{ - if (self = [super init]) { - _top = top; - _bottom = bottom; - _left = left; - _right = right; - } - return self; -} - -@end - -@implementation WXLayoutBorderWidth - -- (instancetype)initWithTop:(float)top bottom:(float)bottom left:(float)left right:(float)right{ - if (self = [super init]) { - _top = top; - _bottom = bottom; - _left = left; - _right = right; - } - return self; -} - -@end