From 6a26bb346ab70d7638e0815cec229f1805a46b79 Mon Sep 17 00:00:00 2001 From: Jowyer Date: Mon, 9 May 2016 12:41:05 +0800 Subject: [PATCH] bug fix : red dot badge frame MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 先显示小红点,然后显示数字,再切回小红点的时候,frame保留了显示数字时候的frame,应该重置为初始的frame --- WZLBadge/View/UIView+WZLBadge.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/WZLBadge/View/UIView+WZLBadge.m b/WZLBadge/View/UIView+WZLBadge.m index e37f3a0..37286b7 100644 --- a/WZLBadge/View/UIView+WZLBadge.m +++ b/WZLBadge/View/UIView+WZLBadge.m @@ -75,6 +75,7 @@ - (void)resumeBadge - (void)showRedDotBadge { [self badgeInit]; + [self resetRedDotBadgeFrame]; //if badge has been displayed and, in addition, is was not red dot style, we must update UI. if (self.badge.tag != WBadgeStyleRedDot) { self.badge.text = @""; @@ -84,6 +85,14 @@ - (void)showRedDotBadge self.badge.hidden = NO; } +- (void)resetRedDotBadgeFrame { + if (self.badge) { + CGFloat redotWidth = 8; + CGRect frm = CGRectMake(CGRectGetWidth(self.frame), -redotWidth, redotWidth, redotWidth); + self.badge.frame = frm; + } +} + - (void)showNewBadge { [self badgeInit];