iOS Developer

iOS开发-返回主界面后自动刷新

2016-05-31  本文已影响3494人  SwifterZ

引言

由于项目需求,需要在返回主界面的时候实现刷新功能。比如说,创建了一个论坛,返回主论坛列表时需要自动刷新。 由此写下这篇文章,提供给有需要帮助的朋友参考并提供我所写的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

上一篇下一篇

猜你喜欢

热点阅读