+(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呈现的更多相关文章

  1. 第一个Python程序 | 机选彩票号码+爬取最新开奖号码

    (机选彩票号码+爬取最新开奖号码 | 2021-04-21) 学习记录,好记不如烂笔头 这个程序作用是<机选三种彩票类型的号码> 程序内包含功能有如下: 自动获取最新的三种彩票的开奖号码 ...

  2. java编写双色球源代码。-----系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码

    package demo2; import java.util.Arrays; import java.util.Random; /** * 系统作为彩票双色球生成器,模拟机选一注双色球的彩票号码: ...

  3. EX14 彩票中奖 (lottery.pas/c/cpp)

    [题目描述]小明想试试运气去购买彩票,所以他开始研究彩票大乐透的玩法:超级大乐透是指由购买者从01—35共35个号码中选取5个号码为前区号码,并从01—12共12个号码中选取2个号码为后区号码组合为一 ...

  4. C# 5 break continue 球员成绩 彩票 选班长

        二.新课: 1.break与continue. 这两个关键字一般放在循环的花括号里面使用. break--结束整个循环. continue--结束本次循环,进入下次循环. break的案例: ...

  5. Python生成随机验证码,大乐透号码

    实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...

  6. python写一个双色球彩票计算器

    首先声明,赌博一定不是什么好事,也完全没有意义,不要指望用彩票发财.之所以写这个,其实是用来练手的,可以参考这个来预测一些其他的东西,意在抛砖引玉. 啰嗦完了,马上开始,先上伪代码 打开网址 读取内容 ...

  7. 题解 P2550 【[AHOI2001]彩票摇奖】

    题目链接 大家有没有发现数据范围好小呀 我们只需要开7~8的数组就好!! 中间比较的时候懒得用for循环比较了.直接爆搜. 废话不多说,直接上代码. #include<bits/stdc++.h ...

  8. python快速教程-vamei

    2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...

  9. c语言for循环

    #include<stdio.h>#include<windows.h>#include <limits.h>#include <math.h>void ...

随机推荐

  1. Jstorm可靠性分析

    去掉storm可靠性有三种方式: 1.Config.TOPOLOGY_ACKERS 设置为0: 2.在发送数据时不带上mesage id: 3.将tuple不做anchor发送到下一个节点,因为没有a ...

  2. xcode6.0以上创建一个Empty Application

    运行Xcode 6,创建一个Single View Application工程.   创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓.   打 ...

  3. 运行impala tpch

    1.安装git和下载tpc-h-impala脚步 [root@ip-172-31-34-31 ~]# yum install git [root@ip-172-31-34-31 ~]# git clo ...

  4. How to create your own custom 404 error page and handle redirect in SharePoint 分类: Sharepoint 2015-07-08 00:22 4人阅读 评论(0) 收藏

    1. In your MOSS server, make a copy of %systemdrive%\Program Files\Common Files\Microsoft Shared\Web ...

  5. 事件(event),正则

    1.事件(event):事件是可以被 JavaScript 侦测到的行为.网页中的每个元素都可以产生某些可以触发 JavaScript 函数的事件.2.事件源: 触发事件的元素 事件: 被 JavaS ...

  6. svn出现版本冲突之后的 无效路径

    .csproj.FileListAbsolute.txt  找到之后删掉错误的代码

  7. 同上 遍历obj的值 来定义当前的后台数据在页面的定位

    function getlistRoom(obj) { //obj就是通过ajax传过来的 data for (var i = 0; i < obj.length; i++) {//遍历数据 v ...

  8. fatal error: 'XCTest/XCTest.h' file not found

    这个报错在几个方面.第一,它导致XCTedt依赖您的应用程序.框架,它只是在Xcode中可用.第二,你使用绝对路径,这并不保证是相同的从Mac Mac(例如,如果你安装了多个版本的Xcode). 这里 ...

  9. 今天第一节PS课

  10. UITableView去掉section的header的粘性

    思路:若header的高度为25,在滑动的时候将scrollView的内容偏移量上衣25,其实他还是粘在上面只不过我们看不到他了. ///---用于判断往上滑还是往下滑 var deltaY:CGFl ...