From c5b7ff8f6a442991a124c030fe79f1cf186843d7 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 16:41:14 +0200 Subject: [PATCH 01/14] Match iPhone 6 and 6+ or any device size --- Classes/TWMessageBarManager.m | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index e5576ad..c01a8e4 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -10,6 +10,8 @@ // Quartz #import +CGFloat const kIphone45ScreenWidth = 320; + // Numerics (TWMessageBarStyleSheet) CGFloat const kTWMessageBarStyleSheetMessageBarAlpha = 0.96f; @@ -62,6 +64,8 @@ @interface TWMessageView : UIView @property (nonatomic, assign) CGFloat duration; +@property (nonatomic, assign) CGFloat screenRatio; + @property (nonatomic, assign) UIStatusBarStyle statusBarStyle; @property (nonatomic, assign) BOOL statusBarHidden; @@ -496,6 +500,8 @@ - (void)dealloc - (void)drawRect:(CGRect)rect { + CGFloat screenRatio = [UISCreen mainScreen].bounds.size.width / kIphone45ScreenWidth; + CGContextRef context = UIGraphicsGetCurrentContext(); if ([self.delegate respondsToSelector:@selector(styleSheetForMessageView:)]) @@ -528,28 +534,28 @@ - (void)drawRect:(CGRect)rect } CGContextRestoreGState(context); - CGFloat xOffset = kTWMessageViewBarPadding; - CGFloat yOffset = kTWMessageViewBarPadding + [self statusBarOffset]; + CGFloat xOffset = kTWMessageViewBarPadding * screenRatio; + CGFloat yOffset = kTWMessageViewBarPadding * screenRatio + [self statusBarOffset]; // icon CGContextSaveGState(context); { if ([styleSheet respondsToSelector:@selector(iconImageForMessageType:)]) { - [[styleSheet iconImageForMessageType:self.messageType] drawInRect:CGRectMake(xOffset, yOffset, kTWMessageViewIconSize, kTWMessageViewIconSize)]; + [[styleSheet iconImageForMessageType:self.messageType] drawInRect:CGRectMake(xOffset, yOffset, kTWMessageViewIconSize * screenRatio, kTWMessageViewIconSize * screenRatio)]; } } CGContextRestoreGState(context); - yOffset -= kTWMessageViewTextOffset; - xOffset += kTWMessageViewIconSize + kTWMessageViewBarPadding; + yOffset -= kTWMessageViewTextOffset * screenRatio; + xOffset += kTWMessageViewIconSize * screenRatio + kTWMessageViewBarPadding * screenRatio; CGSize titleLabelSize = [self titleSize]; CGSize descriptionLabelSize = [self descriptionSize]; if (self.titleString && !self.descriptionString) { - yOffset = ceil(rect.size.height * 0.5) - ceil(titleLabelSize.height * 0.5) - kTWMessageViewTextOffset; + yOffset = ceil(rect.size.height * 0.5) - ceil(titleLabelSize.height * 0.5) - kTWMessageViewTextOffset * screenRatio; } if ([[UIDevice currentDevice] isRunningiOS7OrLater]) From e472ba113a829e01eae3cb6d5e01e29f2866bd41 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 17:10:29 +0200 Subject: [PATCH 02/14] Typo fix --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index c01a8e4..eebd145 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -500,7 +500,7 @@ - (void)dealloc - (void)drawRect:(CGRect)rect { - CGFloat screenRatio = [UISCreen mainScreen].bounds.size.width / kIphone45ScreenWidth; + CGFloat screenRatio = [UIScreen mainScreen].bounds.size.width / kIphone45ScreenWidth; CGContextRef context = UIGraphicsGetCurrentContext(); From a3d9fee69d37572bf34f1fdd23b682424497b609 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 17:16:01 +0200 Subject: [PATCH 03/14] Try no space from status bar --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index eebd145..91bdb2d 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -16,7 +16,7 @@ CGFloat const kTWMessageBarStyleSheetMessageBarAlpha = 0.96f; // Numerics (TWMessageView) -CGFloat const kTWMessageViewBarPadding = 10.0f; +CGFloat const kTWMessageViewBarPadding = 0f; CGFloat const kTWMessageViewIconSize = 36.0f; CGFloat const kTWMessageViewTextOffset = 2.0f; NSUInteger const kTWMessageViewiOS7Identifier = 7; From 57a34c6d53e865c7439597b2da20f5bf126efdd3 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 17:17:26 +0200 Subject: [PATCH 04/14] Try removing bar padding --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 91bdb2d..2afbb77 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -16,7 +16,7 @@ CGFloat const kTWMessageBarStyleSheetMessageBarAlpha = 0.96f; // Numerics (TWMessageView) -CGFloat const kTWMessageViewBarPadding = 0f; +CGFloat const kTWMessageViewBarPadding = 0.0f; CGFloat const kTWMessageViewIconSize = 36.0f; CGFloat const kTWMessageViewTextOffset = 2.0f; NSUInteger const kTWMessageViewiOS7Identifier = 7; From 817845b26729c8d4d96de9828110d8e6d46c3667 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 17:47:09 +0200 Subject: [PATCH 05/14] Attempts to match iPhone 6 --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 2afbb77..1a757ed 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -602,7 +602,7 @@ - (CGFloat)height { CGSize titleLabelSize = [self titleSize]; CGSize descriptionLabelSize = [self descriptionSize]; - return MAX((kTWMessageViewBarPadding * 2) + titleLabelSize.height + descriptionLabelSize.height + [self statusBarOffset], (kTWMessageViewBarPadding * 2) + kTWMessageViewIconSize + [self statusBarOffset]); + return MAX((kTWMessageViewBarPadding * 2) + titleLabelSize.height + descriptionLabelSize.height + [self statusBarOffset], (kTWMessageViewBarPadding * 2) + kTWMessageViewIconSize * screenRatio + [self statusBarOffset]); } - (CGFloat)width From a22fd28495c165210315b3f8c5e989830ae3fe1c Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 17:49:58 +0200 Subject: [PATCH 06/14] _screen ratio as a property --- Classes/TWMessageBarManager.m | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 1a757ed..e116b8b 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -500,7 +500,7 @@ - (void)dealloc - (void)drawRect:(CGRect)rect { - CGFloat screenRatio = [UIScreen mainScreen].bounds.size.width / kIphone45ScreenWidth; + _screenRatio = [UIScreen mainScreen].bounds.size.width / kIphone45ScreenWidth; CGContextRef context = UIGraphicsGetCurrentContext(); @@ -534,28 +534,28 @@ - (void)drawRect:(CGRect)rect } CGContextRestoreGState(context); - CGFloat xOffset = kTWMessageViewBarPadding * screenRatio; - CGFloat yOffset = kTWMessageViewBarPadding * screenRatio + [self statusBarOffset]; + CGFloat xOffset = kTWMessageViewBarPadding * _screenRatio; + CGFloat yOffset = kTWMessageViewBarPadding * _screenRatio + [self statusBarOffset]; // icon CGContextSaveGState(context); { if ([styleSheet respondsToSelector:@selector(iconImageForMessageType:)]) { - [[styleSheet iconImageForMessageType:self.messageType] drawInRect:CGRectMake(xOffset, yOffset, kTWMessageViewIconSize * screenRatio, kTWMessageViewIconSize * screenRatio)]; + [[styleSheet iconImageForMessageType:self.messageType] drawInRect:CGRectMake(xOffset, yOffset, kTWMessageViewIconSize * _screenRatio, kTWMessageViewIconSize * _screenRatio)]; } } CGContextRestoreGState(context); - yOffset -= kTWMessageViewTextOffset * screenRatio; - xOffset += kTWMessageViewIconSize * screenRatio + kTWMessageViewBarPadding * screenRatio; + yOffset -= kTWMessageViewTextOffset * _screenRatio; + xOffset += kTWMessageViewIconSize * _screenRatio + kTWMessageViewBarPadding * _screenRatio; CGSize titleLabelSize = [self titleSize]; CGSize descriptionLabelSize = [self descriptionSize]; if (self.titleString && !self.descriptionString) { - yOffset = ceil(rect.size.height * 0.5) - ceil(titleLabelSize.height * 0.5) - kTWMessageViewTextOffset * screenRatio; + yOffset = ceil(rect.size.height * 0.5) - ceil(titleLabelSize.height * 0.5) - kTWMessageViewTextOffset * _screenRatio; } if ([[UIDevice currentDevice] isRunningiOS7OrLater]) @@ -602,7 +602,7 @@ - (CGFloat)height { CGSize titleLabelSize = [self titleSize]; CGSize descriptionLabelSize = [self descriptionSize]; - return MAX((kTWMessageViewBarPadding * 2) + titleLabelSize.height + descriptionLabelSize.height + [self statusBarOffset], (kTWMessageViewBarPadding * 2) + kTWMessageViewIconSize * screenRatio + [self statusBarOffset]); + return MAX((kTWMessageViewBarPadding * 2) + titleLabelSize.height + descriptionLabelSize.height + [self statusBarOffset], (kTWMessageViewBarPadding * 2) + kTWMessageViewIconSize * _screenRatio + [self statusBarOffset]); } - (CGFloat)width From 43ecd9cdfb3df6c8d9bc08dfd65837b331699bb2 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 17:55:56 +0200 Subject: [PATCH 07/14] status bar height --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index e116b8b..c62fbe0 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -16,7 +16,7 @@ CGFloat const kTWMessageBarStyleSheetMessageBarAlpha = 0.96f; // Numerics (TWMessageView) -CGFloat const kTWMessageViewBarPadding = 0.0f; +CGFloat const kTWMessageViewBarPadding = 10.0f; CGFloat const kTWMessageViewIconSize = 36.0f; CGFloat const kTWMessageViewTextOffset = 2.0f; NSUInteger const kTWMessageViewiOS7Identifier = 7; From b9459ee880f668329378b60fc35b4f26377a104f Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Mon, 9 Nov 2015 18:00:45 +0200 Subject: [PATCH 08/14] bottom fix --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index c62fbe0..7ab039f 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -535,7 +535,7 @@ - (void)drawRect:(CGRect)rect CGContextRestoreGState(context); CGFloat xOffset = kTWMessageViewBarPadding * _screenRatio; - CGFloat yOffset = kTWMessageViewBarPadding * _screenRatio + [self statusBarOffset]; + CGFloat yOffset = kTWMessageViewBarPadding * _screenRatio; // icon CGContextSaveGState(context); From 64c8aac8463525a2f15e157db5f7ad8e5db4e1a8 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Tue, 10 Nov 2015 11:37:23 +0200 Subject: [PATCH 09/14] attempt to resolve status bar offset --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 7ab039f..e66160d 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -612,7 +612,7 @@ - (CGFloat)width - (CGFloat)statusBarOffset { - return [[UIDevice currentDevice] isRunningiOS7OrLater] ? [self statusBarFrame].size.height : 0.0; + return 0.0; } - (CGFloat)availableWidth From 220c9578ee476726c19c256b1dd9839d2ff58fb2 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Tue, 10 Nov 2015 11:54:18 +0200 Subject: [PATCH 10/14] fixing layout attempt --- Classes/TWMessageBarManager.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index e66160d..743d3fb 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -15,6 +15,8 @@ // Numerics (TWMessageBarStyleSheet) CGFloat const kTWMessageBarStyleSheetMessageBarAlpha = 0.96f; +CGFloat const kNavBarHeight 64; + // Numerics (TWMessageView) CGFloat const kTWMessageViewBarPadding = 10.0f; CGFloat const kTWMessageViewIconSize = 36.0f; @@ -555,7 +557,7 @@ - (void)drawRect:(CGRect)rect if (self.titleString && !self.descriptionString) { - yOffset = ceil(rect.size.height * 0.5) - ceil(titleLabelSize.height * 0.5) - kTWMessageViewTextOffset * _screenRatio; + yOffset = ceil(rect.size.height * 0.5) - ceil(titleLabelSize.height * 0.5) - kTWMessageViewTextOffset; } if ([[UIDevice currentDevice] isRunningiOS7OrLater]) @@ -600,9 +602,7 @@ - (void)drawRect:(CGRect)rect - (CGFloat)height { - CGSize titleLabelSize = [self titleSize]; - CGSize descriptionLabelSize = [self descriptionSize]; - return MAX((kTWMessageViewBarPadding * 2) + titleLabelSize.height + descriptionLabelSize.height + [self statusBarOffset], (kTWMessageViewBarPadding * 2) + kTWMessageViewIconSize * _screenRatio + [self statusBarOffset]); + return kNavBarHeight; } - (CGFloat)width From 9bbfa889f53d382abd5317c6e786c6c9aa5c3d39 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Tue, 10 Nov 2015 12:03:50 +0200 Subject: [PATCH 11/14] fixing layout attempts --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 743d3fb..90f0ea3 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -15,7 +15,7 @@ // Numerics (TWMessageBarStyleSheet) CGFloat const kTWMessageBarStyleSheetMessageBarAlpha = 0.96f; -CGFloat const kNavBarHeight 64; +CGFloat const kNavBarHeight = 64; // Numerics (TWMessageView) CGFloat const kTWMessageViewBarPadding = 10.0f; From 077ee8f1aa38a2579e18acb6d681976f299a4161 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Tue, 10 Nov 2015 12:24:59 +0200 Subject: [PATCH 12/14] fixing layout attempts --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 90f0ea3..b101135 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -549,7 +549,7 @@ - (void)drawRect:(CGRect)rect } CGContextRestoreGState(context); - yOffset -= kTWMessageViewTextOffset * _screenRatio; + yOffset -= kTWMessageViewTextOffset; xOffset += kTWMessageViewIconSize * _screenRatio + kTWMessageViewBarPadding * _screenRatio; CGSize titleLabelSize = [self titleSize]; From 065884fb34036715967fe205ebb67ee196f5fd8d Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Tue, 10 Nov 2015 12:42:02 +0200 Subject: [PATCH 13/14] fixing layout attempts --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index b101135..7a44e10 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -18,7 +18,7 @@ CGFloat const kNavBarHeight = 64; // Numerics (TWMessageView) -CGFloat const kTWMessageViewBarPadding = 10.0f; +CGFloat const kTWMessageViewBarPadding = 13.0f; CGFloat const kTWMessageViewIconSize = 36.0f; CGFloat const kTWMessageViewTextOffset = 2.0f; NSUInteger const kTWMessageViewiOS7Identifier = 7; From 59b306dfa9d0bb5225c674122a88d4e7491db277 Mon Sep 17 00:00:00 2001 From: michal_msapps Date: Tue, 10 Nov 2015 12:53:49 +0200 Subject: [PATCH 14/14] fixing layout attempts --- Classes/TWMessageBarManager.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/TWMessageBarManager.m b/Classes/TWMessageBarManager.m index 7a44e10..b208566 100644 --- a/Classes/TWMessageBarManager.m +++ b/Classes/TWMessageBarManager.m @@ -18,7 +18,7 @@ CGFloat const kNavBarHeight = 64; // Numerics (TWMessageView) -CGFloat const kTWMessageViewBarPadding = 13.0f; +CGFloat const kTWMessageViewBarPadding = 15.0f; CGFloat const kTWMessageViewIconSize = 36.0f; CGFloat const kTWMessageViewTextOffset = 2.0f; NSUInteger const kTWMessageViewiOS7Identifier = 7;