星空网 > 软件开发 > 操作系统

IOS 自定义按钮(代码实现)+九宫格

 在一些下载应用里整个页面都是按钮,有好多好多,但是仔细观察不难发现他们很有规律。就像下面一样👇

IOS 自定义按钮(代码实现)+九宫格images/loading.gif' data-original="http://images2015.cnblogs.com/blog/913387/201603/913387-20160318174948428-2139500656.png" />

很有规律的排列在屏幕上,那么这需要我们怎么去做能。

正如标题,我们需要了解两个知识点,分别是自定义按钮和九宫格,九宫格是一种算法。在这里我给大家列出方法,并不过多解释,希望会对大家有帮助。

代码如下:

自定义按钮部分

//// CXButton.m// CX-自定义按钮(代码实现)+九宫格//// Created by ma c on 16/3/18.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "CXButton.h"//设置 自定义按钮的image与title在整个按钮中的比例//image 0.7//title 0.3static CGFloat kScale = 0.7;@implementation CXButton-(instancetype)initWithFrame:(CGRect)frame{    self = [super initWithFrame:frame];    if (self) {        self.imageView.contentMode = UIViewContentModeCenter;        self.titleLabel.font = [UIFont systemFontOfSize:15];        self.titleLabel.textAlignment = NSTextAlignmentCenter;      }  return self;  }-(CGRect)imageRectForContentRect:(CGRect)contentRect{    CGFloat X = 0;  CGFloat Y = 0;  CGFloat width = contentRect.size.width;  CGFloat height = contentRect.size.height * kScale;    return CGRectMake(X, Y, width, height);  }-(CGRect)titleRectForContentRect:(CGRect)contentRect{    CGFloat X = 0;  CGFloat Y = contentRect.size.height * kScale;  CGFloat width = contentRect.size.width;  CGFloat height = contentRect.size.height * (1 - kScale);    return CGRectMake(X, Y, width, height);  }@end

九宫格部分:

//// ViewController.m// CX-自定义按钮(代码实现)+九宫格//// Created by ma c on 16/3/18.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "ViewController.h"#import "CXButton.h"@interface ViewController ()@end@implementation ViewController#pragma mark - life- (void)viewDidLoad {  [super viewDidLoad];    [self loadCXButton];  }#pragma mark - function-(void)loadCXButton{    for (NSInteger i = 0; i < 9; i ++) {        CXButton * button = [CXButton buttonWithType:UIButtonTypeCustom];        [button setImage:[UIImage imageNamed:@"apply_sex_selected"] forState:UIControlStateNormal];        [button setTitle:@"祝福" forState:UIControlStateNormal];        button.backgroundColor = [UIColor grayColor];        [button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];        //下面是九宫格的设计    NSInteger l = i % 3;    NSInteger h = i / 3;        NSInteger kMagin = 20;        CGFloat width = (self.view.frame.size.width - 4 * kMagin) / 3;    CGFloat height = 100;    //通过个数位置确定具体的frame    button.frame = CGRectMake(kMagin + (kMagin + width) * l,20 + kMagin + (kMagin + height) * h, width, height);        NSLog(@"%@",NSStringFromCGRect(button.frame));        [self.view addSubview:button];  }  }/* 2016-03-18 17:45:36.663 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{19.999999999999993, 40}, {111.33333333333333, 100}} 2016-03-18 17:45:36.664 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{151.33333333333331, 40}, {111.33333333333333, 100}} 2016-03-18 17:45:36.666 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{282.66666666666663, 40}, {111.33333333333333, 100}} 2016-03-18 17:45:36.667 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{19.999999999999993, 160}, {111.33333333333333, 100}} 2016-03-18 17:45:36.668 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{151.33333333333331, 160}, {111.33333333333333, 100}} 2016-03-18 17:45:36.669 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{282.66666666666663, 160}, {111.33333333333333, 100}} 2016-03-18 17:45:36.669 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{19.999999999999993, 280}, {111.33333333333333, 100}} 2016-03-18 17:45:36.670 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{151.33333333333331, 280}, {111.33333333333333, 100}} 2016-03-18 17:45:36.671 CX-自定义按钮(代码实现)+九宫格[5772:360492] {{282.66666666666663, 280}, {111.33333333333333, 100}} */@end

 




原标题:IOS 自定义按钮(代码实现)+九宫格

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

京东国际站怎么入驻:https://www.goluckyvip.com/tag/34842.html
京东海外 Joybuy :https://www.goluckyvip.com/tag/34843.html
京东海外仓:https://www.goluckyvip.com/tag/34844.html
京东海外仓的商业模式:https://www.goluckyvip.com/tag/34845.html
京东海外仓库有哪些:https://www.goluckyvip.com/tag/34846.html
京东海外仓入驻:https://www.goluckyvip.com/tag/34847.html
优秀的亚马逊运营每天必做的二十件事:https://www.xlkjsw.com/news/92277.html
对赌嗜血!深圳大卖卖身之后……:https://www.kjdsnews.com/a/1842198.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流