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

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

效果图如下所示:

     

#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

时间: 2024-10-11 20:23:30

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

Android 播放电影时滑动屏幕调整屏幕亮度(转)

(转自:http://blog.csdn.net/piaozhiye/article/details/6544450) 发现有一些主流的播放器播放电影时可以通过滑动屏幕调整屏幕亮度,其实实现起来也很容易. 主要根据滑动的方向来设置屏幕亮度,以下这个demo实现向上滑动屏幕变亮,向下滑动则屏幕变暗.当的屏幕达到最亮或最暗(20%)的时候,设备会震动,代码简单,不多说. 同时设备震动需要有权限 <uses-permission android:name="android.permission.

DataGridView使用技巧五:自动设定列宽和行高

一.设定行高和列宽自动调整 设定包括Header和所有单元格的列宽自动调整 1 //设置包括Header和所有单元格的列宽自动调整 2 this.dgv_PropDemo.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 设定包括Header和所有单元格的行高自动调整 1 //设置包括Header和所有单元格的行高自动调整 2 this.dgv_PropDemo.AutoSizeRowsMode = DataGridV

mysql中的回车换行,jtable换行,自动调整行高,列宽&#160;\r&#160;\n&#160;&lt;br/&gt;

两个问题: 1.mysql里不支持换行,textarea里的回车传入后再传出来就变成了空格. 2.JTable的render默认是继承jlabel的,不支持换行显示. 为了实现换行,一种方法是新写个render继承jtextarea,但是这样了之后不好设自动调整列宽,行高不能根据回车调整,也调的不准,而且超级卡...这种方法代码可以自己网上搜. 下面介绍第二种方法:默认的render不支持换行显示,我们先实现让单元格可以换行.我们在某一个单元格的value前面加上,末尾加,中间要要换行的地方加

1. DataGridView设置字体、行高、列宽、单列居中

DataGridView表格内容的列宽.行高.字体的设置,设置某一列居中.一般地,会将行高设为统一的,列宽根据不同情况设定. [csharp] view plaincopyprint? // 调整字体 dataGridView1.Font = new Font("宋体", 11); // 调整行高 //dataGridView1.Rows[0].Height = 100; dataGridView1.RowTemplate.Height = 30; dataGridView1.Upda

第一课 矩阵的行图像与列图像(麻省理工公开课:线性代数)【转载】

转载自:http://blog.csdn.net/a352611/article/details/48602207 仅用于个人笔记. 目录(?)[-] 从方程组到矩阵 row picture 行图像 column picture 列图像 本系列笔记为方便日后自己查阅而写,更多的是个人见解,也算一种学习的复习与总结,望善始善终吧~ 1. 从方程组到矩阵  矩阵的诞生是为了用一种简洁的方式表达线性方程组 个人理解来说就是为了更好的描述和解决 Ax = b 从系统的角度来理解: A 就是我们的系统 x

行存储和列存储

传统的行式数据库将一个个完整的数据行存储在数据页中.这种方式在大数据量查询的时候会出现以下问题 1.在没有索引的情况下,会把一行全部查出来,查询会使用大量IO 2.虽然建立索引和物化视图可以可以快速定位列,但是也需要花费大量时间 但是如果处理查询时需要用到大部分的数据列,这种方式在磁盘IO上是比较高效的. 一般来说,OLTP(Online Transaction Processing,联机事务处理)应用适合采用这种方式. 一个OLAP类型的查询可能需要访问几百万甚至几十亿个数据行,且该查询往往只

mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ,group_concat(sore Separator ';') as score from stu group by name 第二种展现如图----[多行变多列](合并后的数据在不同列上): sql如下: SELECT name , MAX(CASE type WHEN '数学' THEN

关于SQL Server将一列的多行内容拼接成一行的问题讨论(转载)

说明:本文仅供分享,版权属于原作者. 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep_classes      ep_name AAA           

Oracle 多行变一列的方法

多行变一列的方法有很多,觉得这个第一眼看懂了当时就用的这个办法. 情况是这样的.以下数据前几列是一样的,需要把VAT_VALUE_CHAR 的值放在同一行上. SELECT * FROM ps_vat_defaults defaults WHERE defaults.vat_driver = 'VAT_ENT_RGSTRN' AND defaults.vat_driver_key1 = 'AMB19' AND defaults.vat_driver_key2 = 'DEU' AND vat_de