DJIconView.m

#import "DJIconView.h"

@implementation DJIconView

- (instancetype)initWithFrame:(CGRect)frame {

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

//        self.backgroundColor = [UIColor redColor];
self.imageView.layer.cornerRadius = ;
[self setImage:[UIImage imageNamed:@"yongdaimi"] forState:UIControlStateNormal];
[self setTitle:@"yongdaimi" forState:UIControlStateNormal];
[self setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
self.titleLabel.font = [UIFont systemFontOfSize:];
self.titleLabel.textAlignment = NSTextAlignmentCenter; }
return self; } - (void)layoutSubviews { [super layoutSubviews]; if (DJLandscape) { // 横屏 /* imageView */
self.imageView.width = self.width;
self.imageView.height = self.imageView.width;
self.imageView.x = ;
self.imageView.y = ; /* titleLabel */
self.titleLabel.hidden = NO;
self.titleLabel.width = self.width;
self.titleLabel.height = ;
self.titleLabel.x = ;
self.titleLabel.y = self.imageView.height; } else { // 竖屏 /*imageView*/
self.imageView.width = self.width;
self.imageView.height = self.imageView.width;
self.imageView.x = ;
self.imageView.y = ; /*titleLabel*/
self.titleLabel.hidden = YES; } } @end

DJTabBar.m

#import "DJTabBar.h"

@implementation DJTabBar

- (instancetype)initWithFrame:(CGRect)frame {

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

//        self.backgroundColor = [UIColor greenColor];

        [self setupBtnImage:@"tab_bar_feed_icon" title:@"全部动态"];
[self setupBtnImage:@"tab_bar_passive_feed_icon" title:@"与我相关"];
[self setupBtnImage:@"tab_bar_pic_wall_icon" title:@"照片樯"];
[self setupBtnImage:@"tab_bar_e_album_icon" title:@"电子相框"];
[self setupBtnImage:@"tab_bar_friend_icon" title:@"好友"];
[self setupBtnImage:@"tab_bar_e_more_icon" title:@"更多"]; } return self;
} - (void)setupBtnImage:(NSString *)imageName title:(NSString *)title { UIButton *btn = [[UIButton alloc] init];
// 设置按钮内容左对齐
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
// 设置左填充
btn.contentEdgeInsets = UIEdgeInsetsMake(, , , );
[btn setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
btn.titleEdgeInsets = UIEdgeInsetsMake(, , , ); [btn setTitle:title forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"tabbar_separate_selected_bg"] forState:UIControlStateDisabled]; [self addSubview:btn]; } - (void)layoutSubviews { [super layoutSubviews]; NSUInteger count = self.subviews.count; if (DJLandscape) { // 横屏
for (int i = ; i < count; i++) {
UIButton *btn = self.subviews[i];
btn.width = self.width;
btn.height = self.width / ;
btn.x = ;
btn.y = i * btn.height;
}
} else {
for (int i = ; i < count; i++) {
UIButton *btn = self.subviews[i];
btn.width = self.width;
btn.height = btn.width;
btn.x = ;
btn.y = i * btn.height;
}
} } @end

QzoneHD.pch

// 横屏
#define DJLandscape ([UIScreen mainScreen].bounds.size.width == 1024)
// 竖屏
#define DJPortrait ([UIScreen mainScreen].bounds.size.width == 768)

最终效果:

横屏:

竖屏:

QQ空间HD(5)-添加左侧菜单栏内容的更多相关文章

  1. QQ空间HD(4)-设置左侧菜单栏属性

    DJHomeViewController.m #import "DJHomeViewController.h" #import "DJMenuView.h" ; ...

  2. QQ空间HD(6)-实现自定义的选项卡切换效果

    DJTabbarButton.m #import "DJTabbarButton.h" @implementation DJTabbarButton - (instancetype ...

  3. QQ空间HD(1)-UIPopoverController基本使用

    UIPopoverController 是iPad的专属API ViewController.m #import "ViewController.h" #import " ...

  4. QQ空间HD(3)-Modal的切换效果总结

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { UIViewController ...

  5. QQ空间HD(2)-UIPopoverController其它使用

    DJTestViewController.m #import "DJTestViewController.h" #import "DJColorTableViewCont ...

  6. Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件

    大家都玩QQ空间客户端,对于每一个说说,我们都可以评论,那么,对于某一条评论: 白雪公主 回复 小矮人 : 你们好啊~ 我们来分析一下: .QQ空间允许我们 点击 回复人和被回复人的名字就可以进入对于 ...

  7. 分享内容到微博、QQ空间、人人网、开心网等社区

    网上有不少分享内容到微博.QQ空间.人人网.开心网等社区的插件,但它们都有自己固定的样式,你不一定会喜欢. 或许你想保持你的网站的原状,添加上微博.QQ空间.人人网.开心网的LOGO图片,点击之后就可 ...

  8. QQ空间添加背景音乐

    QQ空间背景音乐方式 1.QQ音乐添加背景音乐一种是开通绿砖[有矿的忽略此条]2.QQ空间添加网络音乐的方法步骤:1.首先,需要先下载好想要音乐作为QQ空间背景音乐的歌曲文件(建议为MP3格式)[我这 ...

  9. QQ空间动态内容,好友信息,点赞爬虫脚本

    一.安装基础的软件包: 1.准备好火狐浏览器,并下载geckodriver,将geckodriver加入到环境变量:下载geckodriver的地址:https://pan.baidu.com/s/1 ...

随机推荐

  1. WIN 下的超动态菜单(三)代码

    WIN 下的超动态菜单(一)简介 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/ 超动态 ...

  2. 2-3 Linux文件管理命令详解

    1. 复制文件 cp: copy 格式  SRCFILE         DEST 一个文件到一个文件 多个文件到一个目录 注,cd 后面什么都不加,是进入用户的家目录 如果目标文件不存在,则先创建文 ...

  3. execve(file, argv, env)参数argv获取字符串个数

    /* Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU ...

  4. [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ

    前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的 ...

  5. POJ2167Irrelevant Elements[唯一分解定理 组合数 杨辉三角]

    Irrelevant Elements Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 2407   Accepted: 59 ...

  6. NOIP模拟赛20161007

    %hzwer http://hzwer.com/7602.html 题目名称 “与” 小象涂色 行动!行动! 输入文件 and.in elephant.in move.in 输出文件 and.out ...

  7. inverse

    首先术语inverse 被翻译为反转的意思.inverse 制定了关联关系中的方向. 当set的inverse属性默认情况下,hibernate会按照持久化对象的属性变化来同步更新数据库. 得到两条s ...

  8. linux tcp超时重传实现分析

    kernel version 3.18.20 1.函数调用关系 tcp_ack-> tcp_clean_rtx_queue-> tcp_ack_update_rtt-> tp-> ...

  9. B树、B-树、B+树、B*树

    B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right) 2.所有结点存储一个关键字 3.非叶子节点的左指针指向小于其关键字的字数,右指针指向大于其关键字的字数: 如: B树的 ...

  10. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 检查版本升级、检查登录超时

    当用户都在一个公司内,甚至一个办公室时,喉一下或者跑过去亲自更新一下程序,就可以了,问题就很简单也没多少复杂性,也不怎么考验技术能力.当面对全国10万以上客户端时,问题就来了. 1:有的用户打开系统一 ...