Skip to content
This repository was archived by the owner on Aug 5, 2019. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
# Change Log

## Version 1.9.6 (unreleased)

This release includes many iOS 11 and iPhone X hot fixes.

##### Features:
- Allowing color customization in typing indicator. By @dskatz22 (#613)
- Adding support for an optional view to host outlets under the text view. By @dzenbot (#562)
- Exposing auto-completion variables. By @dzenbot (#561)

##### Hot Fixes & Enhancements:
- Fixed the text input not being interactive on iOS 11. By @dzenbot (#624)
- Fixed iPhone X issue where the text input bar wouldn't expand to the bottom of the screen, below the home indicator. (#619)
- Fixed scroll view content inset adjustments on iOS 11. By @gim- (#643)
- Fixed compiler error in example app. By @BasThomas (#629)
- Fixed content offset for keyboard when uninverted. By @ZAndyL (#542)

##### Deprecation:
- Deprecated `-shouldProcessTextForAutoCompletion:` in favor of `-shouldProcessTextForAutoCompletion`

##### CI:
- Building the SlackTextViewController framework and running basic tests using BuddyBuild CI, against all PRs. By @dzenbot (#640)

## [Version 1.9.5](https://github.com/slackhq/SlackTextViewController/releases/tag/v1.9.5)

##### Features:
Expand Down
7 changes: 6 additions & 1 deletion Source/SLKTextInputbar.m
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,11 @@ - (void)slk_commonInit
self.autoHideRightButton = YES;
self.editorContentViewHeight = 38.0;
self.contentInset = UIEdgeInsetsMake(5.0, 8.0, 5.0, 8.0);


// Since iOS 11, it is required to call -layoutSubviews before adding custom subviews
// so private UIToolbar subviews don't interfere on the touch hierarchy
[self layoutSubviews];

[self addSubview:self.editorContentView];
[self addSubview:self.leftButton];
[self addSubview:self.rightButton];
Expand Down Expand Up @@ -520,6 +524,7 @@ - (NSUInteger)slk_defaultNumberOfLines
- (void)setBackgroundColor:(UIColor *)color
{
self.barTintColor = color;

self.editorContentView.backgroundColor = color;
}

Expand Down
26 changes: 22 additions & 4 deletions Source/SLKTextViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,14 @@ - (void)viewDidLayoutSubviews
}

- (void)setLeftButtonHidden:(BOOL)hidden animated:(BOOL)animated {
[self.textInputbar setLeftButtonHidden:hidden animated:animated];
[self.textInputbar setLeftButtonHidden:hidden animated:animated];
}

- (void)viewSafeAreaInsetsDidChange
{
[super viewSafeAreaInsetsDidChange];

[self slk_updateViewConstraints];
}


Expand Down Expand Up @@ -424,7 +431,7 @@ - (CGFloat)slk_appropriateKeyboardHeightFromRect:(CGRect)rect

- (CGFloat)slk_appropriateBottomMargin
{
// A bottom margin is required only if the view is extended out of it bounds
// A bottom margin is required if the view is extended out of it bounds
if ((self.edgesForExtendedLayout & UIRectEdgeBottom) > 0) {

UITabBar *tabBar = self.tabBarController.tabBar;
Expand All @@ -435,6 +442,13 @@ - (CGFloat)slk_appropriateBottomMargin
}
}

// A bottom margin is required for iPhone X
if (@available(iOS 11.0, *)) {
if (!self.textInputbar.isHidden) {
return self.view.safeAreaInsets.bottom;
}
}

return 0.0;
}

Expand Down Expand Up @@ -901,7 +915,11 @@ - (void)setTextInputbarHidden:(BOOL)hidden animated:(BOOL)animated
if (self.isTextInputbarHidden == hidden) {
return;
}


if (@available(iOS 11.0, *)) {
[self viewSafeAreaInsetsDidChange];
}

_textInputbar.hidden = hidden;

__weak typeof(self) weakSelf = self;
Expand Down Expand Up @@ -2253,7 +2271,7 @@ - (void)slk_setupViewConstraints
NSDictionary *views = @{@"scrollView": self.scrollViewProxy,
@"autoCompletionView": self.autoCompletionView,
@"typingIndicatorView": self.typingIndicatorProxyView,
@"textInputbar": self.textInputbar,
@"textInputbar": self.textInputbar
};

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView(0@750)][typingIndicatorView(0)]-0@999-[textInputbar(0)]|" options:0 metrics:nil views:views]];
Expand Down