Fix RSS feed UI bug

This commit is contained in:
Niels Andriesse 2019-09-06 16:30:40 +10:00
parent 3f6df9a6e5
commit a6aac19c32
3 changed files with 25 additions and 12 deletions

View File

@ -78,6 +78,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, nullable, readonly) OWSLinkPreviewDraft *linkPreviewDraft;
- (void)hideInputMethod;
@end
NS_ASSUME_NONNULL_END

View File

@ -61,6 +61,7 @@ const CGFloat kMaxTextViewHeight = 98;
@property (nonatomic, readonly) UIButton *voiceMemoButton;
@property (nonatomic, readonly) UIView *quotedReplyWrapper;
@property (nonatomic, readonly) UIView *linkPreviewWrapper;
@property (nonatomic, readonly) UIView *borderView;
@property (nonatomic) CGFloat textViewHeight;
@property (nonatomic, readonly) NSLayoutConstraint *textViewHeightConstraint;
@ -250,17 +251,17 @@ const CGFloat kMaxTextViewHeight = 98;
// The border must reside _outside_ of vStackWrapper so
// that it doesn't run afoul of its clipping, so we can't
// use addBorderViewWithColor.
UIView *borderView = [UIView new];
borderView.userInteractionEnabled = NO;
borderView.backgroundColor = UIColor.clearColor;
borderView.opaque = NO;
borderView.layer.borderColor = Theme.secondaryColor.CGColor;
borderView.layer.borderWidth = CGHairlineWidth();
borderView.layer.cornerRadius = vStackRounding;
[self addSubview:borderView];
[borderView autoPinToEdgesOfView:vStackWrapper];
[borderView setCompressionResistanceLow];
[borderView setContentHuggingLow];
_borderView = [UIView new];
self.borderView.userInteractionEnabled = NO;
self.borderView.backgroundColor = UIColor.clearColor;
self.borderView.opaque = NO;
self.borderView.layer.borderColor = Theme.secondaryColor.CGColor;
self.borderView.layer.borderWidth = CGHairlineWidth();
self.borderView.layer.cornerRadius = vStackRounding;
[self addSubview:self.borderView];
[self.borderView autoPinToEdgesOfView:vStackWrapper];
[self.borderView setCompressionResistanceLow];
[self.borderView setContentHuggingLow];
[self ensureShouldShowVoiceMemoButtonAnimated:NO doLayout:NO];
}
@ -1069,6 +1070,12 @@ const CGFloat kMaxTextViewHeight = 98;
[self clearLinkPreviewStateAndView];
}
- (void)hideInputMethod
{
self.hStack.hidden = YES;
self.borderView.hidden = YES;
}
@end
NS_ASSUME_NONNULL_END

View File

@ -579,12 +579,16 @@ typedef enum : NSUInteger {
return;
}
if (self.userLeftGroup || self.isRSSFeed) {
if (self.userLeftGroup) {
self.inputToolbar.hidden = YES; // user has requested they leave the group. further sends disallowed
[self dismissKeyBoard];
} else {
self.inputToolbar.hidden = NO;
}
if (self.isRSSFeed) {
[self.inputToolbar hideInputMethod];
}
}
- (void)viewDidLoad