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
{
ASDN::MutexLocker l(_propertyLock);
_preferredFrameSize = preferredFrameSize;
if (! CGSizeEqualToSize(_preferredFrameSize, preferredFrameSize)) {
_preferredFrameSize = preferredFrameSize;
[self invalidateCalculatedLayout];
}
}
- (CGSize)preferredFrameSize