//
|
// UITableView+YYAdd.m
|
// YYCategories <https://github.com/ibireme/YYCategories>
|
//
|
// 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 "YYCategoriesMacro.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
|