From 3e3412976124a3861c25efd5ecb5cd4e14f6b858 Mon Sep 17 00:00:00 2001 From: Ivan Kovalisko Date: Wed, 11 Dec 2013 17:20:54 +0200 Subject: [PATCH 1/2] Re-draw placeholder when UITextView's layout or frame changes This happened to me when embedding textview into table view cell. In landscape mode it got stretched because of new frame. --- SAMTextView/SAMTextView.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SAMTextView/SAMTextView.m b/SAMTextView/SAMTextView.m index f520809..6eddb69 100644 --- a/SAMTextView/SAMTextView.m +++ b/SAMTextView/SAMTextView.m @@ -88,6 +88,11 @@ - (void)setTextAlignment:(NSTextAlignment)textAlignment { [self setNeedsDisplay]; } +- (void)layoutSubviews +{ + [super layoutSubviews]; + [self setNeedsDisplay]; +} #pragma mark - NSObject From 78c8b5e5a480dd416e9ae32ca129c39489290b99 Mon Sep 17 00:00:00 2001 From: Ivan Kovalisko Date: Fri, 29 Aug 2014 11:53:33 +0300 Subject: [PATCH 2/2] Set contentMode to redraw on bounds changes --- SAMTextView/SAMTextView.m | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/SAMTextView/SAMTextView.m b/SAMTextView/SAMTextView.m index a98e97e..b596b99 100644 --- a/SAMTextView/SAMTextView.m +++ b/SAMTextView/SAMTextView.m @@ -88,12 +88,6 @@ - (void)setTextAlignment:(NSTextAlignment)textAlignment { [self setNeedsDisplay]; } -- (void)layoutSubviews -{ - [super layoutSubviews]; - [self setNeedsDisplay]; -} - #pragma mark - NSObject - (void)dealloc { @@ -155,6 +149,7 @@ - (CGRect)placeholderRectForBounds:(CGRect)bounds { - (void)initialize { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:) name:UITextViewTextDidChangeNotification object:self]; + self.contentMode = UIViewContentModeRedraw; }