蓝懿ios微博项目之发送信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝懿ios微博项目之发送信息相关的知识,希望对你有一定的参考价值。

/ ---------------------- 功能分区 -----------------------------

        // 到这步,想要实现在自定义的每个tablecell上添加一个toolbar的view,上面放着三个lable(点赞,评论,转发的数量),所以要再自定义一个view类

        // 自定义的 LYWeiboToolbarView 在xib里右侧功能区点击第一个图标把Use Autolayout自动布局点空取消,之后在尺寸的一栏给距离俯视图的下边缘加约束,距离为0.(实现toolbar跟随cell的高度变换位置,始终在下边缘)

        //cell上添加工具栏

        // 创建自定义通过xib布局的对象,用下面的方法创建

        LYWeiboToolbarView *tv = [[[NSBundlemainBundle]loadNibNamed:@"LYWeiboToolbarView" owner:self options:nil] lastObject];

        // autoreseing布局,只是实现子控件的每次初始位置,这里给设置向下移5个像素

          tv.center = CGPointMake(tv.center.x, tv.center.y+5);

        //在这里要把LYWeibo数据传递给子控件tv,tv拿到后要显示转发,评论,点赞数量,但是LYWeibo的数据的时间(具体的时间是在controller里赋值LYWeibo的时候)是在下面的setWeibo方法里拿到的

        [self.contentView addSubview:tv];

        // 设置 contentView 层的颜色为白色,区分整体cell的灰色,分割效果

        self.contentView.backgroundColor = [UIColor whiteColor];

        self.backgroundColor = [UIColor lightGrayColor];

 

 

self.toolBarView = tv;

 

    }

    return self;

    

}

 

// 重写属性weibo的set方法

-(void)setWeibo:(LYWeibo *)weibo{

    _weibo = weibo;

    self.nameLabel.text = weibo.user.name;

    self.timeLabel.text = weibo.created_at;

    [self.headIV setImageWithURL:weibo.user.avatar_large];

    self.sourceLabel.text = weibo.source;

    

    //告诉bar显示的数据是什么(转发。。。)

    self.toolBarView.weibo = weibo;

}

//控件显示之前会调用 数据准备就绪  修改自定义控件布局 可以写在次方法中

-(void)layoutSubviews{

    [super layoutSubviews];

//   让ContentView高度减10 做分割线

    self.contentView.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height-10);

}

 

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [super setSelected:selected animated:animated];

    

    // Configure the view for the selected state

}

    

}

// ---------------------- 功能分区 -----------------------------

// 获取到的时间格式:

//@"Wed Feb 24 16:03:33 +0800 2016"

//星期几 月份 号 时:分:秒 时区 年

// ---------------------- 功能分区 -----------------------------

 

// 每次刷新微博的时候,显示的时间是根据发送的时间而定的,所以这里不能重写set方法,需要重写他的get方法

-(NSString *)created_at{

    // 获取微博发送时间

    // 把获得的字符串时间 转成 时间戳

    //EEE(星期)  MMM(月份)dd(天) HH小时 mm分钟 ss秒 Z时区 yyyy年

    

    // NSDateFormatter 是一个时间互相转换的类

    NSDateFormatter *format = [[NSDateFormatter alloc]init];

    // 格式化时间的格式,按照这种格式的时间把时间转换成data

    format.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy";

    //设置地区

    format.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];

    // 把时间数据转换成data数据

    NSDate *weiboDate = [format dateFromString:_created_at];

    

    //获取当前时间

    NSDate *nowDate = [NSDate new];

    

    long nowTime = [nowDate timeIntervalSince1970];

    long weiboTime = [weiboDate timeIntervalSince1970];

    long time = nowTime-weiboTime;

    if (time<60) {//一分钟内 显示刚刚

        return @"刚刚";

    }else if (time>60&&time<=3600){

        return [NSString stringWithFormat:@"%d分钟前",(int)time/60];

    }else if (time>3600&&time<3600*24){

        return [NSString stringWithFormat:@"%d小时前",(int)time/3600];

    }else{//直接显示日期

        // 按照MM月dd的格式把微博data时间转换成显示的的时间

        format.dateFormat = @"MM月dd";

        return  [format stringFromDate:weiboDate];

    }

}

 

以上是关于蓝懿ios微博项目之发送信息的主要内容,如果未能解决你的问题,请参考以下文章

蓝懿ios微博项目之自定义cell

蓝懿IOS微博项目实现登录

蓝懿IOS页面布局AuToLayou

蓝懿IOS图片编辑模块

蓝懿IOS学习图片编辑器

蓝懿IOS学习音频播放