新浪微博客户端(26)-添加转发评论工具条

DJStatusToolBar.m

#import "DJStatusToolBar.h"

@interface DJStatusToolBar()

// 存放所有按钮
@property (nonatomic,strong) NSMutableArray *btns;
// 存放所有分割线
@property (nonatomic,strong) NSMutableArray *dividers;

@end

@implementation DJStatusToolBar

- (NSMutableArray *)btns {

    if (!_btns) {
        _btns = [NSMutableArray array];
    }
    return _btns;
}

- (NSMutableArray *)dividers {

    if (!_dividers) {
        _dividers = [NSMutableArray array];
    }
    return _dividers;
}

+ (instancetype)toolbar {

    return [[self alloc] init];

}

- (instancetype)initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];
    if (self) {

        /* 添加转发等按钮 */
        [self setupBtn:@"转发" image:@"timeline_icon_retweet"];
        [self setupBtn:@"评论" image:@"timeline_icon_comment"];
        [self setupBtn:@"赞" image:@"timeline_icon_unlike"];

        /* 添加分割线 */
        [self setupDivider];
        [self setupDivider];
    }
    return self;
}

// 添加按钮
- (void)setupBtn:(NSString *)title image:(NSString *)imageName {

    UIButton *btn = [[UIButton alloc] init];
    [btn setTitle:title forState:UIControlStateNormal];
    [btn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
    btn.titleLabel.font = [UIFont systemFontOfSize:14];
    [btn setTitleEdgeInsets:UIEdgeInsetsMake(0, 8, 0, 0)];
    [btn setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
    [self addSubview:btn];

    [self.btns addObject:btn];

}

- (void)setupDivider {

    UIImageView *divider = [[UIImageView alloc] init];
    divider.image = [UIImage imageNamed:@"timeline_card_bottom_line"];
    [self addSubview:divider];

    [self.dividers addObject:divider];
}

- (void)layoutSubviews {

    [super layoutSubviews];

    /* 设置按钮的frame */
    NSUInteger btnCount = self.btns.count;
    CGFloat btnW = self.width / btnCount;
    CGFloat btnH = self.height;
    for (int i = 0; i < btnCount; i++) {
        UIButton *btn = self.btns[i];
        btn.x = i * btnW;
        btn.y = 0;
        btn.width = btnW;
        btn.height = btnH;
    }

    /* 设置分割线的frame */
    NSUInteger dividerCount = self.dividers.count;
    for (int i = 0; i < dividerCount; i++) {
        UIImageView *divider = self.dividers[i];
        divider.width = 1;
        divider.height = btnH;
        divider.x = (i + 1) * btnW;
        divider.y = 0;
    }

}

@end

最终效果:

时间: 2024-10-17 12:23:52

新浪微博客户端(26)-添加转发评论工具条的相关文章

新浪微博客户端(25)-添加转发微博

DJStatusCell.m /* 转发微博部分 */ /** 转发微博整体 */ @property (nonatomic,weak) UIView *retweetView; /** 转发微博内容 */ @property (nonatomic,weak) UILabel *retweetContentLabel; /** 转发微博图片 */ @property (nonatomic,weak) UIImageView *retweetPhotoView; #pragma mark - 转发

JEPaaS如何将按钮添加到按钮工具条的更多按钮里

这个在按钮配置那里.来设定按钮展示 共有三个值: 按钮条直接在按钮条上展示 更多加入到按钮条里 多选选中数据之后展示按钮 加入JEPaaS技术群了解更多 **** 原文地址:https://blog.51cto.com/13797782/2433359

[ExtJS5学习笔记]第八节 Extjs5的Ext.toolbar.Toolbar工具条组件及其应用

本文地址:http://blog.csdn.net/sushengmiyan/article/details/38515499 本文作者:sushengmiyan -------------------------------------------------------------资源链接----------------------------------------------------------------------- Ext JS API: http://docs.sencha.

为Autodesk Viewer添加自定义工具条的更好方法

上一篇文章中我介绍了使用Autodesk Viewer的UI API来给viewer添加自定义工具条的方法,看起来很简单是吧.不过有个问题,就是关于自定义工具条的信息(包括按钮的文本.图标.样式.callback等等)全都散落在代码中,如果要添加或者修改的话,得特别小心的扫描代码,非常容易出错.有没有更好的办法呢?这篇文章就来介绍一下. 既然关于Toolbar button等京城需要更改的部分散落到各处不方便维护,那我就把他们集中到一起独立出来.于是我写了个自定义的toolbarConfig对象

新浪微博客户端(38)-显示键盘上的工具条

DJComposeToolbar.m #import "DJComposeToolbar.h" @implementation DJComposeToolbar - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNa

Android新浪微博客户端(四)——添加多个账户及认证

原文出自:方杰| http://fangjie.sinaapp.com/?p=75 转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54 该项目代码已经放到github:https://github.com/JayFang1993/SinaWeibo 二.获取用户信息并保存数据库 上面说到加载AuthActivity有两种情况,其中一种就是授权成功回调,在授权回调成功后我们就开始通过微博API获取用户信息了,然后保存数据库了.这一系列操作我采

DHTMLX 前端框架 建立你的一个应用程序教程(四)--添加一个工具条toolbar

工具条例子 样本如下: 这里我们使用的是dhtmlxToolbar 组件. 添加工具栏到布局中: 1.使用attachToolbar() 方法初始化页面 添加代码到index.html中 dhtmlxEvent(window,"load",function(){ var layout = new dhtmlXLayoutObject(document.body,"2U"); layout.cells("a").setText("Cont

给键盘添加一个工具条

开发中经常遇到要给键盘添加一个工具条,工具条上有按钮,点击后可以隐藏键盘的情况.比如下面:需要弹出纯数字键盘,这个时候就需要通过工具条来隐藏键盘了. 场景:点击一个cell中的textfield弹出数字键盘,上面加上工具条 步骤1:在cellforrow中创建工具条. 步骤2:把textfield的inputAccessoryView 属性 = 你创建的工具条 步骤3:把textfield的keyboradType 属性 =  UIKeyboardTypeNumberPad 步骤4:实现工具条中

修改ALV 工具条,在ALV toolbar上添加、移除按钮

以下针对于FM:REUSE_ALV_GRID_DISPLAY的ALV,以添加一个按钮为例,修改OO ALV工具条的方式大致相同. 1.创建一个GUI status 首先在程序中创建一个工具条,一般是希望在标准工具条基础上进行修改,可以到函数组SALV中copy标准GUI status到自己的程序下,假如copy过来名字改为0100. 根据需要,添加自定义按钮.相应ICON和功能码BUTTON1,也可删除某些按钮不需要的按钮,保存激活. 2.在call function REUSE_ALV_GRI