美文网首页
应用管理(app九宫格)

应用管理(app九宫格)

作者: GrayWolf | 来源:发表于2016-04-28 23:40 被阅读0次

动态实现app的九宫格。
首先把素材拷进来,图片放在Assets.xcassets里,plist文件放进Supporting Files里面。不多说上代码。

//  ViewController.h
//  appList
//
//  Created by 袁跃 on 16/4/28.
//  Copyright © 2016年 iflytek. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@end
//  ViewController.m
//  appList
//
//  Created by 袁跃 on 16/4/28.
//  Copyright © 2016年 iflytek. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@property(nonatomic, strong) NSArray *apps;
@end

@implementation ViewController
//重写get方法,进行懒加载数据
- (NSArray *)apps{
    if (_apps ==nil) {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
        _apps = [NSArray arrayWithContentsOfFile:path];
    }
    return _apps;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    int cloumns = 3;
    CGFloat viewWidth  = self.view.frame.size.width;
    CGFloat appW = 75;
    CGFloat appH = 90;
    CGFloat marginTop = 30;
    CGFloat marginX = (viewWidth-cloumns*appW)/(cloumns+1);
    CGFloat marginY = marginX;
    
    for (int i=0; i<self.apps.count; i++) {
        
        NSDictionary *appDict = self.apps[i];
        //创建UIView
        UIView *appView = [[UIView alloc]init];
        
        //设置appview的属性
        //appView.backgroundColor = [UIColor redColor];
        CGFloat appX = marginX+((i%cloumns)*(appW+marginX));
        CGFloat appY = marginTop+ ((i/cloumns)*(appH+marginY));
        appView.frame = CGRectMake(appX, appY, appW, appH);
        
        [self.view addSubview:appView];
        UIImageView *appIcon = [[UIImageView alloc]init];
        CGFloat appIconW = 45;
        CGFloat appIconH = 45;
        CGFloat appIconX = (appView.frame.size.width-appIconW)/2;
        CGFloat appIconY = 0;
        appIcon.frame = CGRectMake(appIconX, appIconY, appIconW, appIconH);
        [appView addSubview:appIcon];
        appIcon.image = [UIImage imageNamed:appDict[@"icon"]];
        
        UILabel *labName = [[UILabel alloc]init];
        CGFloat appLabW = appView.frame.size.width;
        CGFloat appLabH = 20;
        CGFloat appLabX = 0;
        CGFloat appLabY = appIconH;
        
        labName.frame = CGRectMake(appLabX, appLabY, appLabW, appLabH);
        labName.text = appDict[@"name"];
        labName.font = [UIFont systemFontOfSize:12];
        labName.textAlignment = NSTextAlignmentCenter;
        
        [appView addSubview:labName];
        
        UIButton *appButton = [[UIButton alloc]init];
        CGFloat appButtonX = appIconX;
        CGFloat appButtonY = CGRectGetMaxY(labName.frame);
        CGFloat appButtonW = appIconW;
        CGFloat appButtonH = 20;
        
        appButton.frame = CGRectMake(appButtonX, appButtonY, appButtonW, appButtonH);
        [appButton setTitle:@"下载" forState:UIControlStateNormal];
        [appButton setTitle:@"已下载" forState:UIControlStateDisabled];
        [appButton setBackgroundImage:[UIImage imageNamed:@"buttongreen"]forState:UIControlStateNormal];
        [appButton setBackgroundImage:[UIImage imageNamed:@"buttongreen_highted"]forState:UIControlStateHighlighted];
        appButton.titleLabel.font = [UIFont systemFontOfSize:12];
        
        [appButton addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
        
        [appView addSubview:appButton];
        
    }
    self.view.backgroundColor = [UIColor whiteColor];
    
    
    
    
}
-(void)buttonClick{
    NSLog(@"正在下载");
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

相关文章

  • 应用管理(app九宫格)

    动态实现app的九宫格。首先把素材拷进来,图片放在Assets.xcassets里,plist文件放进Suppor...

  • 关于fv悬浮球解root锁

    首先一定要将fv悬浮球变成系统应用 也就是移动至/system/app 还有就是修改文件管理器的九宫格[全部打√]...

  • APP里面的应用列表(九宫格)设计

    整个app的时机就是基于事件驱动来设计的。 如下图为APP应用列表的设计。可以先简单理解为九宫格的一个应用列表 其...

  • Android 摘要

    Android 摘要 Android应用权限管理 Understanding App PermissionsAnd...

  • 批量制作九宫格效果短视频

    如何批量制作九宫格效果的视频,首先我们在手机上安装应用程序“王者剪辑app”,启动软件并进入一键剪辑中的“特效应用...

  • React Navigation之App containers使

    App containers App 容器负责管理应用的 state, 并将顶层的 navigator 链接到整个...

  • IOT平台之创建产品与网络实现

    基于OneNet实现App发布 1.创建应用 (1).找到应用管理 (2).确定基本应用的信息 (3).添加应用的...

  • ios:demo 应用管理

    关于用代码计算九宫格布局: 计算行索引和列索引 : columns(每一行显示多少个应用)i 表示app的个数,通...

  • Android应用去广告

    1 需求 在市面上有些比较实用的app应用,比如说:日历app、文件管理app,视频播放器app。这些app中大部...

  • 使用ReSwift管理应用状态

    使用ReSwift管理应用状态 前面提到引入App Coordinator之后,ViewController的剩下...

网友评论

      本文标题:应用管理(app九宫格)

      本文链接:https://www.haomeiwen.com/subject/nhvhrttx.html