У меня есть этот код:
CGColorRef darkColor = [[UIColor colorWithRed:21.0/255.0 green:92.0/255.0 blue:136.0/255.0 alpha:1.0] CGColor];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, darkColor);
CGContextFillRect(context, CGRectMake(18, 62, 66, 66));
И я просто поместил его в метод viewdidload моего представления, но мое представление не выглядит иначе, чем раньше. Я пытался сделать его действительно большим и ярко-красным, но он просто не рисует. Есть какой-то другой код инициализации, который мне нужен?
РЕДАКТИРОВАТЬ: После работы с ответами, данными мне, у меня есть это сейчас в моей veiwdidload:
[self.view addSubview:[[[imageBackground alloc] init] autorelease]];
и в imageBackground.m:
@implementation imageBackground
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.opaque = YES;
self.backgroundColor = [UIColor clearColor];
}
return self;
}
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
CGColorRef darkColor = [[UIColor colorWithRed:21.0/255.0 green:92.0/255.0 blue:136.0/255.0 alpha:1.0] CGColor];
darkColor = [[UIColor colorWithRed:255.0 green:0.0 blue:0.0 alpha:1.0] CGColor];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, darkColor);
CGContextFillRect(context, CGRectMake(18, 62, 66, 66));
}
@end
Imagebackground.h подклассы UIView:
#import <UIKit/UIKit.h>
@interface imageBackground : UIView
@end
Я все еще не получаю результатов из этого.
РЕДАКТИРОВАТЬ 2: Ну, я решил это сам, но потом понял, что progrmr уже сказал мне, как решить это. Мне пришлось использовать [self.view addSubview:[[[imageBackground alloc] initWithFrame:CGRectMake(0, 0, 320, 480)] autorelease]];
вместо обычного alloc init.
Спасибо glorifiedhacker за огромную помощь!