彩票号码OC呈现
+(NSArray*)splitCode:(NSString*)code backzoneIndex:(NSInteger*)outIndex
{
/*
01
0102|0304
010203040506|01
|01
*/
NSInteger backzoneIndex = ; NSArray* zoneArr = [code componentsSeparatedByString:@"|"];
if (nil == zoneArr || [zoneArr count] != )
return nil; NSMutableArray* splitArr = [NSMutableArray array];
NSString* prozoneStr = zoneArr[];
for (int i = ; i < [prozoneStr length]; i+= )
{
NSString* str = [prozoneStr substringWithRange:NSMakeRange(i, )];
[splitArr addObject:str];
}
backzoneIndex = [splitArr count]; NSString* backzoneStr = zoneArr[];
for (int i = ; i < [backzoneStr length]; i+= )
{
NSString* str = [backzoneStr substringWithRange:NSMakeRange(i, )];
[splitArr addObject:str];
}
*outIndex = backzoneIndex;
return splitArr;
} +(NSString*)stdCode:(NSString*)code
{
if ([CommonHelper isEmpty:code])
return @"";
//将,分隔,两位分隔,空格分隔的code转换成无分隔的code
NSRange r = [code rangeOfString:@","];
if (r.location != NSNotFound)
{
NSString* newCode = [code stringByReplacingOccurrencesOfString:@"," withString:@""];
return newCode;
}
r = [code rangeOfString:@" "];
{
NSString* newCode = [code stringByReplacingOccurrencesOfString:@" " withString:@","];
return newCode;
}
return code;
}
+(UIView*)makeLotteryView:(NSString*)code font:(UIFont*)font height:(CGFloat)height sep:(CGFloat)sep borderColor:(UIColor*)boderColor prozoneColor:(UIColor*)prozoneColor backzoneColor:(UIColor*)backzoneColor
{
NSString* stdCode = [MyLotteryShoppingCartViewController stdCode:code];
if ([CommonHelper isEmpty:stdCode])
return nil;
NSInteger backzoneIndex = ;
NSArray* codeArr = [MyLotteryShoppingCartViewController splitCode:stdCode backzoneIndex:&backzoneIndex];
if ([CommonHelper isEmptyArray:codeArr])
return nil;
NSInteger codeCount = [codeArr count];
CGFloat viewWidth = codeCount*height + (codeCount -)*sep;
UIView* contentView = [UIView new];
CGRect rect = CGRectMake(, ,viewWidth,height);
[contentView setFrame:rect];
CGFloat codeX = ;
CGFloat codeY = ;
CGFloat codeSep = sep;
CGFloat codeW = height;
CGFloat codeH = height;
for(int i = ; i< codeCount;i++)
{
NSString* codeStr = codeArr[i];
rect = CGRectMake(codeX, codeY, codeW, codeH);
UILabel* lblCode = [[UILabel alloc]initWithFrame:rect];
[lblCode setBackgroundColor:[UIColor clearColor]];
[lblCode setFont:font];
[lblCode.layer setCornerRadius:height/];
[lblCode.layer setMasksToBounds:YES];
[lblCode.layer setBorderWidth:];
lblCode.layer.borderColor = boderColor.CGColor;
[lblCode setTextColor:(i >= backzoneIndex) ? backzoneColor :prozoneColor];
[lblCode setText:codeStr];
[lblCode setTextAlignment:NSTextAlignmentCenter];
[contentView addSubview:lblCode];
codeX += codeW+ codeSep;
}
return contentView;
}
第一个版本,先用View顶过去,后面考虑drawRect,目前看对帧率是有影响的
彩票号码OC呈现的更多相关文章
- 第一个Python程序 | 机选彩票号码+爬取最新开奖号码
(机选彩票号码+爬取最新开奖号码 | 2021-04-21) 学习记录,好记不如烂笔头 这个程序作用是<机选三种彩票类型的号码> 程序内包含功能有如下: 自动获取最新的三种彩票的开奖号码 ...
- java编写双色球源代码。-----系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码
package demo2; import java.util.Arrays; import java.util.Random; /** * 系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码: ...
- EX14 彩票中奖 (lottery.pas/c/cpp)
[题目描述]小明想试试运气去购买彩票,所以他开始研究彩票大乐透的玩法:超级大乐透是指由购买者从01—35共35个号码中选取5个号码为前区号码,并从01—12共12个号码中选取2个号码为后区号码组合为一 ...
- C# 5 break continue 球员成绩 彩票 选班长
二.新课: 1.break与continue. 这两个关键字一般放在循环的花括号里面使用. break--结束整个循环. continue--结束本次循环,进入下次循环. break的案例: ...
- Python生成随机验证码,大乐透号码
实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...
- python写一个双色球彩票计算器
首先声明,赌博一定不是什么好事,也完全没有意义,不要指望用彩票发财.之所以写这个,其实是用来练手的,可以参考这个来预测一些其他的东西,意在抛砖引玉. 啰嗦完了,马上开始,先上伪代码 打开网址 读取内容 ...
- 题解 P2550 【[AHOI2001]彩票摇奖】
题目链接 大家有没有发现数据范围好小呀 我们只需要开7~8的数组就好!! 中间比较的时候懒得用for循环比较了.直接爆搜. 废话不多说,直接上代码. #include<bits/stdc++.h ...
- python快速教程-vamei
2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...
- c语言for循环
#include<stdio.h>#include<windows.h>#include <limits.h>#include <math.h>void ...
随机推荐
- Javascript下拉导航
1.右侧导航 tree.js function Toggle(e){ if(!document.getElementById) return; if(!e) var e = window.event; ...
- 二、Python 数据类型
计算机是用来辅助人类工作的,能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型,在程序设计中映射了现实世界的分类,以便于抽象的分析 序列:不 ...
- DataSet集合直接根据传入的类转List<T>集合
最近比较忙,好久没写博客了.个人感觉最好的进步就是写东西.哈哈. 一般我们使用ADO.net从数据库中读取数据返回的集合是DataSet类型的.有时候我们需要进行转换成List<T>集合. ...
- ASP.NET4.5从零开始(1)
使用Web窗体 引言 前段时间客户A突然提出,B项目希望可以做成BS形式的,之前是CS的,因为我之前也没学过ASP.NET,于是一边百度,一边Coding,马马虎虎的把功能流程给调通,然后就交差了,想 ...
- 微信支付报错:Invalid thumbnail dimensions: 0x0
微信支付的 android 端在支付的时候闪退, 调试信息: 10-08 10:17:08.459 2127-3946/? E/ActivityManager: Invalid thumbnail d ...
- SQL Server 内置函数、临时对象、流程控制
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...
- Jenkins_Maven_Git 持续集成及自动化部署 GentOS版
1.安装JDK JDK下载: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 新 ...
- LED BIN code
在LED选型时,一开始我们都知道要选个某种颜色,在选个尺寸,但在到具体选的时候,就会被那些个各种各样的参数搞得迷糊,这个主要对一个最让人困惑的参数-BIN CODE做整理. BIN就是bining的缩 ...
- 370. Range Addition
Assume you have an array of length n initialized with all 0's and are given k update operations. Eac ...
- Oracle中的MD5加密详解
一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFU ...