• 在UIView中加入应用下载信息模块


    -(void)willMoveToSuperview:(UIView *)newSuperview
    {
        NSString *path = [[NSBundle mainBundle]pathForResource:@"books.plist" ofType:nil];
        _books = [NSArray arrayWithContentsOfFile:path];
        
        NSLog(@"%@",_books);
        
        self.frame = newSuperview.bounds;
        self.backgroundColor = [UIColor redColor];
        int totalColumns = 3;
        
        // 应用的尺寸
        CGFloat bookW = 90;
        CGFloat bookH = 125;
        
        // 间隙 = (view的宽度 - 3 * 应用宽度) / 4
        CGFloat marginX = (self.frame.size.width - totalColumns * bookW) / (totalColumns + 1);
        CGFloat marginY = 15;
        
        // 依据应用个数创建相应的框(index)
        for (int index = 0; index<self.books.count; index++) {
            // 创建
            UIView *bookView = [[UIView alloc] init];
            // 设置背景色
            bookView.backgroundColor = [UIColor cyanColor];
            
            // 计算框的位置
            // 计算行号和列号
            int row = index / totalColumns;
            int col = index % totalColumns;
            // 计算x和y
            CGFloat bookX = marginX + col * (bookW + marginX);
            CGFloat bookY = 20 + row * (bookH + marginY);
            // 设置frame
            bookView.frame = CGRectMake(bookX, bookY, bookW, bookH);
            
            //加入框到控制器的view
            [self addSubview:bookView];
            
            // 加入控件
            // index位置相应的应用信息
            NSDictionary *bookInfo = self.books[index];
            
            // 加入图片
            //UIImageView *iconView = [[UIImageView alloc] init];
            UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
            [btn setBackgroundImage:[UIImage imageNamed:bookInfo[@"icon"]] forState:UIControlStateNormal];
            // 设置位置
            CGFloat iconW = 60;
            CGFloat iconH = 80;
            CGFloat iconX = (bookW - iconW) * 0.5;
            CGFloat iconY = 0;
            btn.frame = CGRectMake(iconX, iconY, iconW, iconH);
            [bookView addSubview:btn];
            
            // 加入名字
            UILabel *nameLabel = [[UILabel alloc] init];
            // 设置位置
            CGFloat nameW = bookW;
            CGFloat nameH = 20;
            CGFloat nameX = 0;
            CGFloat nameY = iconY + iconH;
            nameLabel.frame = CGRectMake(nameX, nameY, nameW, nameH);
            // 设置文字
            nameLabel.text = bookInfo[@"name"];
            // 设置字体
            nameLabel.font = [UIFont systemFontOfSize:13];
        
            // 设置文字居中对齐
            nameLabel.textAlignment = NSTextAlignmentCenter;
            [bookView addSubview:nameLabel];
            
            // 加入下载按钮
            UIButton *downloadBtn = [[UIButton alloc] init];
            // 设置位置
            CGFloat downloadX = 12;
            CGFloat downloadY = nameY + nameH;
            CGFloat downloadW = bookW - 2 * downloadX;
            CGFloat downloadH = 20;
            downloadBtn.frame = CGRectMake(downloadX, downloadY, downloadW, downloadH);
            // 设置默认的背景
            
            UIImage *normalImage = [UIImage imageNamed:@"upomp_button_keyboard3"];
            [downloadBtn setBackgroundImage:normalImage forState:UIControlStateNormal];
            // 设置高亮的背景
            UIImage *highImage = [UIImage imageNamed:@"upomp_button_keyboard3_highlighted"];
            [downloadBtn setBackgroundImage:highImage forState:UIControlStateHighlighted];
            // 设置按钮的文字
            [downloadBtn setTitle:@"download" forState:UIControlStateNormal];
           
            // 设置按钮文字的字体
            
            downloadBtn.titleLabel.font = [UIFont systemFontOfSize:13];
            [bookView addSubview:downloadBtn];
        }
        
        
    
    }
    

  • 相关阅读:
    Resource interpreted as Stylesheet but transferred with MIME type application/x-css
    scrapy 的settings.py中设置自定义属性
    scrapy下载图片到指定路径
    scrapy 自动下载图片
    Python处理json的错误 obj, end = self.scan_once(s, idx) ValueError: Expecting property name: line 2 column 17 (char 18)
    [ZJOI2012]数列 题解 [高精]
    [ZJOI2020]传统艺能 题解 [DP+矩阵+分类讨论]
    《终将成为你》简评
    GJGHFD的关键点 题解 [倍增+线段树+贪心]
    GJGHFD的排列 题解 [DP]
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7065666.html
Copyright © 2020-2023  润新知