iOS: fix List Crash when insert more rows
This commit is contained in:
parent
e345aa8879
commit
1add0f564c
@ -26,7 +26,7 @@
|
|||||||
#import <yoga/Yoga.h>
|
#import <yoga/Yoga.h>
|
||||||
|
|
||||||
@interface YGLayout ()
|
@interface YGLayout ()
|
||||||
@property (nonatomic, assign, readonly) YGNodeRef node;
|
@property(nonatomic, assign, readonly) YGNodeRef node;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
void DoricAddEllipticArcPath(CGMutablePathRef path,
|
void DoricAddEllipticArcPath(CGMutablePathRef path,
|
||||||
@ -1537,9 +1537,9 @@ - (void)layoutFlex {
|
|||||||
layout.measuredX = YGNodeLayoutGetLeft(child.yoga.node);
|
layout.measuredX = YGNodeLayoutGetLeft(child.yoga.node);
|
||||||
layout.measuredY = YGNodeLayoutGetTop(child.yoga.node);
|
layout.measuredY = YGNodeLayoutGetTop(child.yoga.node);
|
||||||
[layout measureWidth:DoricMeasureSpecMake(DoricMeasureExactly,
|
[layout measureWidth:DoricMeasureSpecMake(DoricMeasureExactly,
|
||||||
YGNodeLayoutGetWidth(child.yoga.node))
|
YGNodeLayoutGetWidth(child.yoga.node))
|
||||||
height:DoricMeasureSpecMake(DoricMeasureExactly,
|
height:DoricMeasureSpecMake(DoricMeasureExactly,
|
||||||
YGNodeLayoutGetHeight(child.yoga.node))];
|
YGNodeLayoutGetHeight(child.yoga.node))];
|
||||||
[layout layout];
|
[layout layout];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -231,10 +231,10 @@ - (void)blend:(NSDictionary *)props {
|
|||||||
NSIndexPath *p = [NSIndexPath indexPathForRow:l inSection:0];
|
NSIndexPath *p = [NSIndexPath indexPathForRow:l inSection:0];
|
||||||
[indexPaths addObject:p];
|
[indexPaths addObject:p];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (@available(iOS 11.0, *)) {
|
if (@available(iOS 11.0, *)) {
|
||||||
[self.view performBatchUpdates:^{
|
@try {
|
||||||
@try {
|
[self.view performBatchUpdates:^{
|
||||||
|
|
||||||
if (oldLoadMore != self.loadMore) {
|
if (oldLoadMore != self.loadMore) {
|
||||||
if (self.loadMore) {
|
if (self.loadMore) {
|
||||||
[self.view insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
|
[self.view insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
|
||||||
@ -246,10 +246,10 @@ - (void)blend:(NSDictionary *)props {
|
|||||||
} else {
|
} else {
|
||||||
[self.view insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
|
[self.view insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
|
||||||
}
|
}
|
||||||
} @catch (NSException *exception) {
|
} completion:nil];
|
||||||
[self.view reloadData];
|
} @catch (NSException *exception) {
|
||||||
}
|
[self.view reloadData];
|
||||||
} completion:nil];
|
}
|
||||||
} else {
|
} else {
|
||||||
[self.view reloadData];
|
[self.view reloadData];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user