When a new preferredFrameSize is set, previously calculated layout should be invalidated so that the size will be picked up in the next layout pass.

This commit is contained in:
Huy Nguyen 2015-08-13 07:17:24 +03:00
parent e93e97ad5f
commit c7043a193c

View File

@ -1382,7 +1382,10 @@ static NSInteger incrementIfFound(NSInteger i) {
- (void)setPreferredFrameSize:(CGSize)preferredFrameSize - (void)setPreferredFrameSize:(CGSize)preferredFrameSize
{ {
ASDN::MutexLocker l(_propertyLock); ASDN::MutexLocker l(_propertyLock);
_preferredFrameSize = preferredFrameSize; if (! CGSizeEqualToSize(_preferredFrameSize, preferredFrameSize)) {
_preferredFrameSize = preferredFrameSize;
[self invalidateCalculatedLayout];
}
} }
- (CGSize)preferredFrameSize - (CGSize)preferredFrameSize