Fix macOS indicator center layout issue. Should use the frame origin instead of frame, which will cause issue if superView contains no zero bounds origin

This commit is contained in:
DreamPiggy 2019-10-27 13:12:27 +08:00
parent ae6ccf1652
commit 61888409fb
1 changed files with 1 additions and 3 deletions

View File

@ -324,9 +324,7 @@ const int64_t SDWebImageProgressUnitCountUnknown = 1LL;
}
// Center the indicator view
#if SD_MAC
CGPoint center = CGPointMake(NSMidX(self.bounds), NSMidY(self.bounds));
NSRect frame = view.frame;
view.frame = NSMakeRect(center.x - NSMidX(frame), center.y - NSMidY(frame), NSWidth(frame), NSHeight(frame));
[view setFrameOrigin:CGPointMake(round((NSWidth(self.bounds) - NSWidth(view.frame)) / 2), round((NSHeight(self.bounds) - NSHeight(view.frame)) / 2))];
#else
view.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
#endif