Я создал подкласс UIView, называемый Status, который предназначен для отображения прямоугольника определенного размера (внутри представления) в зависимости от значения переменной.Могу ли я использовать drawRect для обновления подкласса UIView?
// Interface
#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>
@interface Status: UIView {
NSString* name;
int someVariable;
}
@property int someVariable;
@property (assign) NSString *name;
- (void) createStatus: (NSString*)withName;
- (void) drawRect:(CGRect)rect;
@end
// Implementation
#import "Status.h"
@implementation Status
@synthesize name, someVariable;
- (void) createStatus: (NSString*)withName {
name = withName;
someVariable = 10000;
}
- (void) drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
//Draw Status
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1); // fill
CGContextFillRect(context, CGRectMake(0.0, 0.0, someVariable, 40.0));
}
//// myviewcontroller implementation
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
myStatus = [[Status alloc] initWithFrame:CGRectMake(8,8,200,56)];
myStatus.backgroundColor = [UIColor grayColor];
[self.view addSubview:myStatus];
}
Как настроить это, чтобы неоднократно вызывать обновление строки состояния? Я, вероятно, буду называть обновление 4 раза в секунду с помощью NSTimer, я просто не уверен, что мне нужно позвонить, или если я должен переместить этот чертеж прямоугольника на отдельную функцию или что-то еще ...
Заранее благодарим за помочь :)
слишком легко, это прекрасно :). – Timbo