From 1440fecd3e85deffcb0ccf97f9ae59dd4a4033b6 Mon Sep 17 00:00:00 2001 From: Dhaval Kansara Date: Fri, 1 Nov 2019 09:51:42 +0530 Subject: [PATCH 1/2] iOS 13 changes. --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++++ .../RSSearchBar/RSSearchBar.m | 32 +++++++++++-------- 2 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 RSMasterTableView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/RSMasterTableView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/RSMasterTableView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/RSMasterTableView.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/RSMasterTableView/RSMasterTableView/RSSearchBar/RSSearchBar.m b/RSMasterTableView/RSMasterTableView/RSSearchBar/RSSearchBar.m index ba5b797..4206b42 100644 --- a/RSMasterTableView/RSMasterTableView/RSSearchBar/RSSearchBar.m +++ b/RSMasterTableView/RSMasterTableView/RSSearchBar/RSSearchBar.m @@ -61,18 +61,12 @@ - (id)setFrame:(CGRect)frame placeHolder:(NSString *)placeHolder font:(UIFont *) } -(void)drawRect:(CGRect)rect { - - NSUInteger index = [self indexOfTextFieldInSubViews]; - - if(index){ - searchTextField = (UITextField *)(self.subviews[0]).subviews[index]; searchTextField.frame = CGRectMake(kDefaultMargin, kDefaultMargin, self.frame.size.width - 2*kDefaultMargin, self.frame.size.height - 2*kDefaultMargin); searchTextField.font = self.prefferedTextFont; searchTextField.textColor = self.prefferedTextColor; searchTextField.backgroundColor = self.barTintColor; - } [self drawBottomLine]; [super drawRect:rect]; @@ -80,19 +74,29 @@ -(void)drawRect:(CGRect)rect { #pragma mark- Private methods --(NSUInteger)indexOfTextFieldInSubViews { - - NSUInteger index = NSNotFound; +-(UITextField *)TextFieldInSubViews { + UITextField *textField; UIView *searchBarView = self.subviews[0]; for (int i = 0; i < searchBarView.subviews.count; ++i) { - - if([searchBarView.subviews[i] isKindOfClass:[UITextField class]]){ - index = i; - break; + if (@available(iOS 13, *)){ + UIView *tempView = searchBarView.subviews[i]; + if(tempView.subviews.count > 0){ + for(UIView * innerView in tempView.subviews){ + if([innerView isKindOfClass:[UITextField class]]){ + textField = innerView; + break; + } + } + } + }else { + if([searchBarView.subviews[i] isKindOfClass:[UITextField class]]){ + textField = searchBarView.subviews[i]; + break; + } } } - return index; + return textField; } -(void)drawBottomLine { From cdd7589104bea14a4edde2e2aa51d3d9fbe25895 Mon Sep 17 00:00:00 2001 From: DhavalKansara Date: Mon, 2 Dec 2019 12:44:54 +0530 Subject: [PATCH 2/2] Cancel button visibility modifications. --- RSMasterTableView/RSMasterTableView/RSTableView.m | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/RSMasterTableView/RSMasterTableView/RSTableView.m b/RSMasterTableView/RSMasterTableView/RSTableView.m index ce25560..5019849 100755 --- a/RSMasterTableView/RSMasterTableView/RSTableView.m +++ b/RSMasterTableView/RSMasterTableView/RSTableView.m @@ -446,7 +446,7 @@ -(void)addSearchBarWithPlaceHolder:(NSString *)placeHolder borderColor:(UIColor self.searchBar.barTintColor = self.backgroundContainerView.backgroundColor; self.searchBar.bottomBorderColor = borderColor; - self.searchBar.showsCancelButton = YES; + self.searchBar.showsCancelButton = NO; self.searchBar.delegate = self; // add search bar to tableHeaderView @@ -479,6 +479,14 @@ -(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { [searchBar resignFirstResponder]; } +- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{ + self.searchBar.showsCancelButton = YES; +} + +- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar{ + self.searchBar.showsCancelButton = NO; +} + - (void)layoutSubviews { [super layoutSubviews];