// // UITableView+YYAdd.m // YYKit // // Created by ibireme on 14/5/12. // Copyright (c) 2015 ibireme. // // This source code is licensed under the MIT-style license found in the // LICENSE file in the root directory of this source tree. // #import "UITableView+YYAdd.h" #import "YYKitMacro.h" YYSYNTH_DUMMY_CLASS(UITableView_YYAdd) @implementation UITableView (YYAdd) - (void)updateWithBlock:(void (^)(UITableView *tableView))block { [self beginUpdates]; block(self); [self endUpdates]; } - (void)scrollToRow:(NSUInteger)row inSection:(NSUInteger)section atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated { NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section]; [self scrollToRowAtIndexPath:indexPath atScrollPosition:scrollPosition animated:animated]; } - (void)insertRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation { [self insertRowsAtIndexPaths:@[indexPath] withRowAnimation:animation]; } - (void)insertRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { NSIndexPath *toInsert = [NSIndexPath indexPathForRow:row inSection:section]; [self insertRowAtIndexPath:toInsert withRowAnimation:animation]; } - (void)reloadRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation { [self reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:animation]; } - (void)reloadRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { NSIndexPath *toReload = [NSIndexPath indexPathForRow:row inSection:section]; [self reloadRowAtIndexPath:toReload withRowAnimation:animation]; } - (void)deleteRowAtIndexPath:(NSIndexPath *)indexPath withRowAnimation:(UITableViewRowAnimation)animation { [self deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:animation]; } - (void)deleteRow:(NSUInteger)row inSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { NSIndexPath *toDelete = [NSIndexPath indexPathForRow:row inSection:section]; [self deleteRowAtIndexPath:toDelete withRowAnimation:animation]; } - (void)insertSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { NSIndexSet *sections = [NSIndexSet indexSetWithIndex:section]; [self insertSections:sections withRowAnimation:animation]; } - (void)deleteSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { NSIndexSet *sections = [NSIndexSet indexSetWithIndex:section]; [self deleteSections:sections withRowAnimation:animation]; } - (void)reloadSection:(NSUInteger)section withRowAnimation:(UITableViewRowAnimation)animation { NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:section]; [self reloadSections:indexSet withRowAnimation:animation]; } - (void)clearSelectedRowsAnimated:(BOOL)animated { NSArray *indexs = [self indexPathsForSelectedRows]; [indexs enumerateObjectsUsingBlock:^(NSIndexPath* path, NSUInteger idx, BOOL *stop) { [self deselectRowAtIndexPath:path animated:animated]; }]; } @end