1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //
- // UITableView+YYAdd.m
- // YYKit <https://github.com/ibireme/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
|