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 { 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];