Ios 我加上“观察员”;contentSize“;当contentSize具有新值但在某些设备上崩溃时,更改帧
我将“contentSize”的观察者添加到UITableView,代码如下:Ios 我加上“观察员”;contentSize“;当contentSize具有新值但在某些设备上崩溃时,更改帧,ios,objective-c,Ios,Objective C,我将“contentSize”的观察者添加到UITableView,代码如下: [self addObserver:_contentView forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil]; if ([keyPath isEqualToString:@"contentSize"]) { CGFloat topHeight = 0;
[self addObserver:_contentView forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
if ([keyPath isEqualToString:@"contentSize"]) {
CGFloat topHeight = 0;
if (_topPartView != nil) {
topHeight = _topPartView.frame.size.height;
}
_mininumDisplayHeight = MIN(_settedMin, _contentView.contentSize.height);
_maxinumDisplayHeight = MIN(_settedMax, _contentView.contentSize.height+topHeight);
if (_displayState == MaxDisPlay) {
DDLogDebug(@"-contentSize displayMax-");
_contentView.frame = [self maxFrame];
[self resetTopWithContentFrame:[self maxFrame]];
}else{
DDLogDebug(@"-contentSize displayMin-");
_contentView.frame = [self minFrame];
[self resetTopWithContentFrame:[self minFrame]];
}
}
然后在contentSize更改时更改tableview的框架,如代码所示:
[self addObserver:_contentView forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
if ([keyPath isEqualToString:@"contentSize"]) {
CGFloat topHeight = 0;
if (_topPartView != nil) {
topHeight = _topPartView.frame.size.height;
}
_mininumDisplayHeight = MIN(_settedMin, _contentView.contentSize.height);
_maxinumDisplayHeight = MIN(_settedMax, _contentView.contentSize.height+topHeight);
if (_displayState == MaxDisPlay) {
DDLogDebug(@"-contentSize displayMax-");
_contentView.frame = [self maxFrame];
[self resetTopWithContentFrame:[self maxFrame]];
}else{
DDLogDebug(@"-contentSize displayMin-");
_contentView.frame = [self minFrame];
[self resetTopWithContentFrame:[self minFrame]];
}
}
以下是minFrame和maxFrame:
-(CGRect)minFrame{
CGFloat ignore = 0;
if (_topPartView != nil ) {
ignore = _topPartView.frame.size.height;
}
NSString *valueStr = [NSString stringWithFormat:@"%.2f",self.bounds.size.height - _mininumDisplayHeight];
return CGRectMake(0, valueStr.floatValue, self.bounds.size.width, _maxinumDisplayHeight - ignore);
}
-(CGRect)maxFrame{
CGFloat ignore = 0;
if (_topPartView != nil ) {
ignore = _topPartView.frame.size.height;
}
NSString *valueStr = [NSString stringWithFormat:@"%.2f",self.bounds.size.height - (_maxinumDisplayHeight - ignore)];
return CGRectMake(0, valueStr.floatValue, self.bounds.size.width, _maxinumDisplayHeight - ignore);
}
从Firebase Crashlytics来看,它似乎在某些设备上崩溃了数百次,但我无法复制它。以下是崩溃信息:
Crashed: com.apple.main-thread
0 libsystem_c.dylib 0x1abaf7620 __vfprintf + 40
1 libsystem_c.dylib 0x1abb1ae54 __v2printf + 396
2 libsystem_c.dylib 0x1abb016f4 _vsnprintf + 264
3 libsystem_c.dylib 0x1abaf680c snprintf_l + 32
4 CoreFoundation 0x1abe34344 __CFStringAppendFormatCore + 8928
5 CoreFoundation 0x1abe35920 _CFStringCreateWithFormatAndArgumentsAux2 + 156
6 Foundation 0x1ac160d50 +[NSString stringWithFormat:] + 76
7 MyApp 0x100554ccc -[CustomPullView minFrame] + 118 (CustomPullView.m:118)
8 MyApp 0x100555884 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 275 (CustomPullView.m:275)
9 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
10 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
11 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
12 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
13 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
14 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
15 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
16 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
17 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
18 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
19 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
20 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
21 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
22 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
23 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
24 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
25 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
26 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
27 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
28 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
29 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
30 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
31 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
32 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
33 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
34 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
35 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
36 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
37 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
38 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
39 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
40 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
41 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
42 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
43 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
44 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
45 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
46 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
47 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
48 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
49 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
50 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
51 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
52 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
53 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
54 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
55 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
56 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
57 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
58 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
59 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
60 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
61 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
62 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
63 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
64 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
65 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
66 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
67 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
68 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
69 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
70 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
71 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
72 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
73 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
74 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
75 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
76 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
77 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
78 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
79 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
80 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
81 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
82 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
83 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
84 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
85 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
86 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
87 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
88 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
89 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
90 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
91 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
92 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
93 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
94 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
95 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
96 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
97 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
98 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
99 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
100 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
101 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
102 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
103 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
104 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
105 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
106 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
107 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
108 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
109 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
110 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
111 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
112 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
113 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
114 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
115 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
116 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
117 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
118 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
119 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
120 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
121 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
122 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
123 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
124 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
125 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
126 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
127 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
128 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
129 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
130 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
131 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
132 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
133 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
134 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
135 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
136 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
137 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
138 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
139 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
140 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
141 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
142 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
143 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
144 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
145 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
146 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
147 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
148 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
149 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
150 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
151 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
152 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
153 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
154 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
155 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
156 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
157 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
158 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
159 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
160 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
161 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
162 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
163 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
164 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
165 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
166 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
167 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
168 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
169 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
170 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
171 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
172 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
173 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
174 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
175 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
176 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
177 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
178 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
179 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
180 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
181 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
182 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
183 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
184 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
185 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
186 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
187 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
188 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
189 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
190 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
191 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
192 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
193 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
194 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
195 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
196 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
197 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
198 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
199 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
200 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
201 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
202 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
203 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
204 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
205 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
206 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
207 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
208 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
209 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
210 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
211 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
212 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
213 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
214 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
215 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
216 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
217 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
218 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
219 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
220 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
221 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
222 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
223 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
224 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
225 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
226 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
227 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
228 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
229 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
230 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
231 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
232 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
233 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
234 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
235 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
236 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
237 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
238 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
239 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
240 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
241 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
242 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
243 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
244 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
245 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
246 UIKitCore 0x1b01aa160 -[UITableView _rectChangedWithNewSize:oldSize:] + 404
247 UIKitCore 0x1b01aa75c -[UITableView setFrame:] + 256
248 MyApp 0x100555894 -[CustomPullView observeValueForKeyPath:ofObject:change:context:] + 276 (CustomPullView.m:276)
249 Foundation 0x1ac25b89c NSKeyValueNotifyObserver + 292
250 Foundation 0x1ac25d924 NSKeyValueDidChange + 340
251 Foundation 0x1ac25d398 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKeys:count:maybeOldValuesDict:maybeNewValuesDict:usingBlock:] + 632
252 Foundation 0x1ac1a6f60 -[NSObject(NSKeyValueObservingPrivate) _changeValueForKey:key:key:usingBlock:] + 72
253 Foundation 0x1ac2597d0 _NSSetSizeValueAndNotify + 316
254 UIKitCore 0x1b01abac0 -[UITableView setContentSize:skipContentOffsetAdjustment:] + 108
255 UIKitCore 0x1b01839b8 -[UITableView _updateContentSizeSkippingContentOffsetAdjustment:] + 516
我找不到坠机的原因,也无法重现坠机过程。此崩溃主要出现在13.5以上的任何iOS设备上。有人能帮我吗?可能
self.bounds.size.width
是NaN。添加#包括并将CGRectMake(0,valueStr.floatValue,self.bounds.size.width,_maxinumDisplayHeight-ignore)
替换为CGRectMake(0,valueStr.floatValue,isnan(self.bounds.size.width)?0:self.bounds.size.width,_maxinumDisplayHeight-ignore)
/p>只是一个注释而已。。。我认为如果您倾听frame
的更改,并根据更改计算内容大小,而不是相反,那么您的解决方案会更加稳定。