九宫格---可滑动,可调整每行有几列,共有几行,边距可自适应

九宫格---可滑动,可调整每行有几列,共有几行,边距可自适应


效果图如下所示:

     

#import "ViewController.h"


#define spaceLR (375-numRow*70)/(numRow+1)    //左右两边的边距

#define spaceMD (375-numRow*70)/(numRow+1)    //中间空白距


@interface ViewController () <UIScrollViewDelegate>


@property (nonatomic, strong) UIScrollView * scroll;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

  

#pragma mark - 静态视图(不可滑动)

    int numRow=3;   //此时显示为3列,可以自己调整列数

    int numCol=50;  //此时显示为50行,可以自己调整行数,不能全部显示,可滑动查看

    

    //添加scroll

    _scroll = [[UIScrollView alloc] initWithFrame:self.view.bounds];

    _scroll.contentSize = CGSizeMake(375,numCol*120);

    _scroll.pagingEnabled = YES;

    _scroll.showsHorizontalScrollIndicator = NO;

    _scroll.showsVerticalScrollIndicator = NO;

    _scroll.bounces = NO;

    _scroll.delegate = self;

 

    for (int j=0; j<numCol; j++)

    {

        for (int i=0; i<numRow; i++)

        {

            UIView * view=[[UIView alloc]initWithFrame:CGRectMake(spaceLR+i*70+i*spaceMD, 20+j*120, 70, 120)];

            UIImageView * imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 70, 70)];

            imageView.image=[UIImage imageNamed:[NSString stringWithFormat:@"%d",arc4random_uniform(20)+256]];

            [view addSubview: imageView];

            UILabel * label=[[UILabel alloc]initWithFrame:CGRectMake(0, 75, 70, 20)];

            label.text=@"下载";

            label.textAlignment=NSTextAlignmentCenter;

            label.font=[UIFont fontWithName:nil size:14];

            [view addSubview:label];

            [_scroll addSubview:view];

        }

    }

    [self.view addSubview:_scroll];

}


@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值