美文网首页iOS Developer
iOS开发-返回主界面后自动刷新

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

作者: SwifterZ | 来源:发表于2016-05-31 17:21 被阅读3494次

    引言

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

    相关文章

      网友评论

        本文标题:iOS开发-返回主界面后自动刷新

        本文链接:https://www.haomeiwen.com/subject/nqacdttx.html