美文网首页
MBProgressHUD+MJRefresh+SDWebima

MBProgressHUD+MJRefresh+SDWebima

作者: 济公活佛是小松鼠 | 来源:发表于2018-04-06 08:07 被阅读0次

    //第一步:依次导入MBProgressHUD、MJRefresh、SDWebimage三个库

    //第二步:在AppDelgate.m中添加头文件#import "ViewController.h"

    //在此方法中添加以下代码:- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

       self.window.rootViewController = [[UINavigationController alloc]initWithRootViewController:[ViewController new]];

    //第三步:修改ViewController.h中的基类 将UIViewController 修改为 UITableViewController

    //第四步:在ViewController.m 依次添加以下头文件

    //导入HUD头文件

    #import "MBProgressHUD.h"

    //导入Image头文件

    #import "UIImageView+WebCache.h"

    //导入刷新头文件

    #import "MJRefresh.h"

    //第五步:声明二个属性

    @interface ViewController ()

    {

        NSURL* imageUrl;

        UIImageView*image;

    }

    @end

    //添加以下代码

    - (void)viewDidLoad {

        [super viewDidLoad];

    //设置标题

    self.title = @"SDWebImage";

    //设置图片位置

        image = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

     [self.view addSubview:image];

    //创建图片网址:

    //注意事项:因图片网址是http开头的,需要在info.plist添加以下网络授权

    /*

    <key>NSAppTransportSecurity</key>

    <dict>

    <key>NSAllowsArbitraryLoads</key>

    <true/>

    </dict>

    */

     imageUrl = [NSURL URLWithString:@"http://h.hiphotos.baidu.com/image/pic/item/b7fd5266d0160924842b3f21d30735fae6cd34f9.jpg"];

    // 在根视图显示,在根视图内部滚动

        MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];

        // 触发异步任务,给UIKit机会重绘智慧HUD添加到视图层次结构。

        dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{

      [self   doSomeWork];

     dispatch_async(dispatch_get_main_queue(), ^{

                [hud  hideAnimated:YES];

            });

        });

    }

    #pragma mark -

    #pragma mark doSomeWork

    - (void)doSomeWork {

    //设置睡眠时间

     sleep(3.0);

        //  placeholderImage 是占位图 如果图片没下载下来之前  会使用placeholderImage占位图的图片来显示

        [image sd_setImageWithURL:imageUrl placeholderImage:[UIImage imageNamed:@"strawberry"]];

     [self tableViewMJRefresh];

    }

    // 刷新

    - (void)tableViewMJRefresh

    {

        self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{

            // 进入刷新状态后会自动调用这个block

            NSLog(@"继续加载图片");

        }];

        // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法)

        self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];

    }

    // 加载数据

    - (void)loadNewData

    {

      [self.tableView.header endRefreshing];

    //刷新替换新图片,如不需要更换新图片,以下二行代码不需要添加

        imageUrl = [NSURL URLWithString:@"http://s1.lashouimg.com/zt/201110/27/131972321636938600.jpg"];

            [self   doSomeWork];

    }

    //cell的个数

    - (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

    {

        return 1;

    }

    - (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

    {

        UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@""];

      if(!cell) {

            cell  =  [[UITableViewCellalloc]init];

        }

    //隐藏表格分割线

        tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

        returncell;

    }

    相关文章

      网友评论

          本文标题:MBProgressHUD+MJRefresh+SDWebima

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