zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-柱状图

    一,效果图。

    二,工程图。

    三,代码。

    RootViewController.h

    复制代码
    #import <UIKit/UIKit.h>
    
    @interface RootViewController : UIViewController
    {
        UIView* zhuView;
    }
    
    @end
    复制代码

     

    RootViewController.m

    复制代码
    #import "RootViewController.h"
    
    @interface RootViewController ()
    
    @end
    
    @implementation RootViewController
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        
        self.title=@"柱状图";
        self.view.backgroundColor=[UIColor greenColor];
        
        
        [self initZhuView:[NSArray arrayWithObjects:@"10",@"20",@"30",@"40",@"50",@"60",@"70",@"80",@"90",nil]];
        
    }
    #pragma -mark -柱状图初始化
    - (void)initZhuView:(NSArray*)days
    {
        
        if ([[UIScreen mainScreen] bounds].size.height > 480) {
            zhuView = [[UIView alloc] initWithFrame:CGRectMake(0, 310 - 45 + 50, 320, 150)];
        }
        else
        {
            zhuView = [[UIView alloc] initWithFrame:CGRectMake(0, 310 - 45, 320, 150)];
        }
        //柱状图所在的背景图
        [self.view addSubview:zhuView];
        
        //0天,50天,100天所在的竖线
        UIView* shuView = [[UIView alloc] initWithFrame:CGRectMake(55, 0, 1, 120)];
        [shuView setBackgroundColor:[UIColor orangeColor]];
        [zhuView addSubview:shuView];
        
        //0-9所在的横线
        UIView* hengView = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetMinX(shuView.frame), CGRectGetMaxY(shuView.frame), 320 - CGRectGetMinX(shuView.frame) - 20, 1)];
        [hengView setBackgroundColor:[UIColor orangeColor]];
        [zhuView addSubview:hengView];
        
        
        NSArray* titles = [NSArray arrayWithObjects:@"100天",@"50天",@"0天", nil];
        for (int i = 0 ; i < 3; i++) {
            //天数所在Label
            UILabel* yibaiLb = [[UILabel alloc] initWithFrame:CGRectMake(0, 5 + i* 50, 53, 15)];
            [yibaiLb setText:[titles objectAtIndex:i]];
            [yibaiLb setTextAlignment:NSTextAlignmentRight];
            [yibaiLb setFont:[UIFont systemFontOfSize:14]];
            [yibaiLb setBackgroundColor:[UIColor clearColor]];
            [zhuView addSubview:yibaiLb];
        }
        
        for (int i = 0; i < [days count]; i++) {
            
            int height = [[days objectAtIndex:i] intValue];
            if(height>=100)
                height=100;
            
            //红色的竖线的柱状图
            UIImageView* imageView = [[UIImageView alloc] initWithFrame:CGRectMake(CGRectGetMaxX(shuView.frame) + 10 + i*25, CGRectGetMinY(hengView.frame) - height, 15, height)];
            [imageView setBackgroundColor:[UIColor redColor]];
            [zhuView addSubview:imageView];
            
            //柱状图上的红色的数字Label
            UILabel* dayLB = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMinX(imageView.frame) - 5, CGRectGetMinY(imageView.frame) - 10, 25, 10)];
            [dayLB setTextAlignment:NSTextAlignmentCenter];
            [dayLB setBackgroundColor:[UIColor clearColor]];
            [dayLB setFont:[UIFont systemFontOfSize:10]];
            [dayLB setText:[NSString stringWithFormat:@"%d",[[days objectAtIndex:i] intValue]]];
            [zhuView addSubview:dayLB];
            
            //1-9的数字所在的Label
            UILabel* diLb = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMinX(imageView.frame), CGRectGetMaxY(hengView.frame) , 15, 20)];
            [diLb setText:[NSString stringWithFormat:@"%d",i+1]];
            [diLb setBackgroundColor:[UIColor clearColor]];
            [diLb setTextAlignment:NSTextAlignmentCenter];
            [diLb setFont:[UIFont systemFontOfSize:14]];
            [zhuView addSubview:diLb];
        }
    }
    复制代码

     

  • 相关阅读:
    C#中值类型和引用类型
    C#XML
    矩阵操作2
    scala安装
    Linux拷贝U盘文件(命令行)
    通过电脑,模拟点击手机屏幕 /手机自动点击,刷金币?
    python类
    矩阵操作
    数据预处理函数
    train_test_split数据切分
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/5739823.html
Copyright © 2011-2022 走看看