zoukankan      html  css  js  c++  java
  • QQ空间HD(5)-添加左侧菜单栏内容

    DJIconView.m

    #import "DJIconView.h"
    
    @implementation DJIconView
    
    
    - (instancetype)initWithFrame:(CGRect)frame {
    
    
        if (self = [super initWithFrame:frame]) {
            
    //        self.backgroundColor = [UIColor redColor];
            self.imageView.layer.cornerRadius = 5;
            [self setImage:[UIImage imageNamed:@"yongdaimi"] forState:UIControlStateNormal];
            [self setTitle:@"yongdaimi" forState:UIControlStateNormal];
            [self setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            self.titleLabel.font = [UIFont systemFontOfSize:18];
            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 = 0;
            self.imageView.y = 0;
            
            /* titleLabel */
            self.titleLabel.hidden = NO;
            self.titleLabel.width = self.width;
            self.titleLabel.height = 40;
            self.titleLabel.x = 0;
            self.titleLabel.y = self.imageView.height;
            
        } else { // 竖屏
            
            /*imageView*/
            self.imageView.width = self.width;
            self.imageView.height = self.imageView.width;
            self.imageView.x = 0;
            self.imageView.y = 0;
            
            /*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(0, 30, 0, 0);
        [btn setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
        btn.titleEdgeInsets = UIEdgeInsetsMake(0, 40, 0, 0);
        
        [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 = 0; i < count; i++) {
                UIButton *btn = self.subviews[i];
                btn.width = self.width;
                btn.height = self.width / 3;
                btn.x = 0;
                btn.y = i * btn.height;
            }
        } else {
            for (int i = 0; i < count; i++) {
                UIButton *btn = self.subviews[i];
                btn.width = self.width;
                btn.height = btn.width;
                btn.x = 0;
                btn.y = i * btn.height;
            }
        }
    
    }
    
    @end

    QzoneHD.pch

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

    最终效果:

    横屏:

    竖屏:

  • 相关阅读:
    关于android:screenOrientation="portrait"等
    《第一行代码》学习笔记44-位置服务(2)
    《第一行代码》学习笔记43-位置服务(1)
    《第一行代码》学习笔记42-网络(3)
    《第一行代码》学习笔记41-网络(2)
    spring JdbcTemplate如何返回多个结果集
    Python环境安装(Windows环境)
    C#使用 SharpSSH
    SqlDataReader生成动态Lambda表达式
    DataTable 转实体
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6227863.html
Copyright © 2011-2022 走看看