引言
由于项目需求,需要在返回主界面的时候实现刷新功能。比如说,创建了一个论坛,返回主论坛列表时需要自动刷新。 由此写下这篇文章,提供给有需要帮助的朋友参考并提供我所写的RefreshView下拉刷新控件。
思路
现在假设两个页面,一个为论坛列表页面(TopicsViewController),一个为创建论坛页面(CreateTopicViewController)。
1)首先在创建论坛列表定义@protocol并为该协议定义一个delegate
@protocol createDelegate;
@interface CreateTopicViewController : UIViewController
@property (nonatomic,weak) id<CreateDelegate> createTargetDelegate;
@end
@protocol createDelegate <NSObject>
@required
- (void)didFinishCreateTopic:(CreateTopicViewController*)create;
@end
2)在TopicsViewController.h中import定义协议的文件并在.m文件中实现该协议
@interface TopicsViewController : UIViewController <CreateDelegate>
@end
#pragma createTopic delegate
- (void)didFinishCreateTopic:(CreateTopicViewController*)create {
[create.navigationController popViewControllerAnimated:YES];
[UIView animateWithDuration:0.5f animations:^{
[self.refreshView setVisibleHeight:1.5*35.0f];
[self.refreshView beginRefreshing];
} completion:^(BOOL finished) {
//开始刷新,接下来要实现的代码
}];
}
3)在跳转到穿件论坛界面的时候将自己的指针给予CreateTopicViewController中的delegate
#pragma mark - Navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ( [segue.identifier isEqualToString:@"GoToCreateTopics"] ) {
CreateTopicViewController* ctvc = segue.destinationViewController;
ctvc.createTargetDelegate = self;
}
}
4)在CreateTopicViewController中创建完成后调用
[self.createTargetDelegate didFinishCreateTopic:self];
下拉控件下载地址:RefreshView
网友评论