注册 登录
主题 : 关于uiview中画动态柱形图问题
级别: 精灵王

UID: 11236
精华: 0
发帖: 824
可可豆: 8213 CB
威望: 8213 点
在线时间: 876(时)
注册时间: 2009-12-03
最后登录: 2016-03-18
0 楼:  发表于: 2009-12-16 17:36    发自: Web Page
来源于 一般提问 分类

关于uiview中画动态柱形图问题   

先贴代码:-(id)initWithCoder:(NSCoder *)coder
{

NSLog(@"initwithcoder");
if ( ( self = [super initWithCoder:coder] ) ) { 
    } 
    i=50;
j=21;

return self;

}


- (void)drawRect:(CGRect)rect {
NSLog(@"test drawRect");
context = UIGraphicsGetCurrentContext(); 
CGContextSetLineWidth(context, 2.0); 
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor); 
CGRect currentRect = CGRectMake(10, 13, 150, 113);
CGContextAddRect(context, currentRect); 
CGContextDrawPath(context, kCGPathFillStroke);

[NSTimer scheduledTimerWithTimeInterval:(0.5) target:self selector:@selector(onTimer) userInfo:nil repeats:YES];


}


-(void)onTimer
{

if(j<90)
{


NSLog(@"test onTimer"); 
CGContextSetLineWidth(context, 0.0); 
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor); 
CGRect currentRect1 = CGRectMake(9, 9, 152, j);
CGRect currentRect2 = CGRectMake(163, 123-j, 40, 20);
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextAddRect(context, currentRect1); 
CGContextDrawPath(context, kCGPathFillStroke);

[self setNeedsDisplayInRect:currentRect1];
persentlabel=[[UILabel alloc]initWithFrame:currentRect2];
persentlabel.text=[[NSString alloc]initWithFormat:@"%f%",j-20];
[self addSubview:persentlabel];



j++;
}
}


先不讨论 内存问题,在加这个label 也就是persentlabel 之前程序能正常运行,也就是说程序能够动态的画出那个柱形图,可是当addsubview后柱形图却消失了,很茫然,望大家帮忙改进下代码。



闲着也是闲着,果断来水。
级别: 圣骑士
UID: 945
精华: 2
发帖: 67
可可豆: 6158 CB
威望: 6158 点
在线时间: 707(时)
注册时间: 2008-10-05
最后登录: 2014-11-09
1 楼:  发表于: 2009-12-17 01:12    发自: Web Page
addSubview 和 draw 对于一个view是不能同时用的

可以把persentlabel 的layer 取得,然后draw上去,应该没问题
CocoaChina问答中心
级别: 精灵王

UID: 11236
精华: 0
发帖: 824
可可豆: 8213 CB
威望: 8213 点
在线时间: 876(时)
注册时间: 2009-12-03
最后登录: 2016-03-18
2 楼:  发表于: 2009-12-17 09:55    发自: Web Page
感谢1楼。。。。。。。
闲着也是闲着,果断来水。
级别: 精灵王

UID: 11236
精华: 0
发帖: 824
可可豆: 8213 CB
威望: 8213 点
在线时间: 876(时)
注册时间: 2009-12-03
最后登录: 2016-03-18
3 楼:  发表于: 2009-12-17 10:08    发自: Web Page
怎样取得哪个label的layer???达人多指教!!
闲着也是闲着,果断来水。
级别: 精灵王

UID: 11236
精华: 0
发帖: 824
可可豆: 8213 CB
威望: 8213 点
在线时间: 876(时)
注册时间: 2009-12-03
最后登录: 2016-03-18
4 楼:  发表于: 2009-12-17 15:36    发自: Web Page
layer,,,,愁
闲着也是闲着,果断来水。
级别: 骑士
UID: 500
精华: 0
发帖: 54
可可豆: 3418 CB
威望: 3418 点
在线时间: 360(时)
注册时间: 2008-08-21
最后登录: 2019-03-13
5 楼:  发表于: 2009-12-17 16:32    发自: Web Page
self.view.layer.sublayers
级别: 骑士
UID: 18662
精华: 0
发帖: 185
可可豆: 1204 CB
威望: 1194 点
在线时间: 269(时)
注册时间: 2010-04-29
最后登录: 2018-03-16
6 楼:  发表于: 2013-04-24 10:36    发自: Web Page
mark~~

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部