蓝懿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;

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

        //创建weiboView控件,没有LYWeibo数据,先创建

        self.weiboView = [[LYWeiboView alloc]initWithFrame:CGRectZero];

        [self.contentView addSubview:self.weiboView];

        // ---------------------- 点击头像进入用户的信息界面 -----------------------------

        

  //表情匹配(在计算cell高度时候要一次图文匹配,这里要涉及显示的功能,也要做一次匹配)

        [LYFaceMateTextUtils faceMappingWithTextView:self.textView];

        

//        //如果创建控件时不确定位置或大小 可以先给cgrectzero 表示位置和大小都是0

//        // 这里还没有拿到LYWeibo数据,不知道高度,所以暂时不定fram值,先创建

        // 在这里创建控件是实现也页面里只有一个imageview,起到了复用的效果

//        self.imageView = [[LYWeiboImageView alloc]initWithFrame:CGRectZero];

//        [self addSubview:self.imageView];

    }

    return self;

}

// 重写imageview的get方法,实现复用,不用这种方式就要在init初始化的地方创建好imsgeview

-(LYWeiboImageView *)imageView{

    if (_imageView==nil) {

        //如果创建控件时不确定位置或大小 可以先给cgrectzero 表示位置和大小都是0

        _imageView = [[LYWeiboImageView alloc]initWithFrame:CGRectZero];

        [self addSubview:_imageView];

    }

    return _imageView;

}

 

 

//重写转发微博View的get方法  懒加载,实现了转发微博view复用

// 懒加载就是在程序运行后,不是一下子加载很多的控件,而是后期需要的时候再复用

// 懒加载的形式是重写get方法的同时,里面进行判断跟着 if(obj==nil),这种形式

//  这里的转发的微博view也要考虑view的复用问题

-(LYWeiboView *)reWeiboView{

    

    

    // if里面判断进行的时候要写成_reWeiboView,如果写self.reWeiboView,它属于_eWeiboView的get方法,get方法里面用属性的get方法取值判断会进入死循环,所以这里重写get方法时候一定要用_reWeiboView来判断是否存在

    // 注意:_reWeiboView == nil , 整体是一个get方法,

    //  self.reWeiboView = ,属于set方法;

    if (_reWeiboView == nil) {

        // 现创建一个,滴哦用的时候赋值时再定Fram

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

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

蓝懿IOS微博项目实现登录

iOS开发 - 第05篇 - 项目 - 12 - 图文混排

蓝懿IOS页面布局AuToLayou

蓝懿IOS图片编辑模块

蓝懿IOS学习图片编辑器