首页 > 编程语言 > 详细

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

时间:2016-02-24 23:47:08      阅读:574      评论:0      收藏:0      [点我收藏+]
/ ---------------------- 功能分区 -----------------------------

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

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

        //cell上添加工具栏

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

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

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

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

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

        [self.contentView addSubview:tv];

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

        self.contentView.backgroundColor = [UIColor whiteColor];

        self.backgroundColor = [UIColor lightGrayColor];



self.toolBarView = tv;


    }

    return self;

    

}


// 重写属性weiboset方法

-(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(00self.bounds.size.widthself.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{//直接显示日期

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

        format.dateFormat = @"MMdd";

        return  [format stringFromDate:weiboDate];

    }

}



 

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

(2)
(2)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!