Подкласс UIScrollview - PullRequest
       24

Подкласс UIScrollview

0 голосов
/ 31 января 2012

Я отчаянно пытался нарисовать некоторые изображения в виде. Представление должно быть внутри прокрутки. Для этого я создал подкласс UIScrollview и переопределил в нем метод drawRect. И добавил это как подпредставление моего UIView.

@interface DrawAnotherViewClass : UIScrollView<UIScrollViewDelegate> {

}
@end



@implementation DrawAnotherViewClass

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
    // Initialization code

    CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame];
    self.frame = fullScreenRect;
    self.contentSize = CGSizeMake(600, 600);
    self.showsHorizontalScrollIndicator = YES;
    self.showsVerticalScrollIndicator = NO;
    self.pagingEnabled = YES;

}
return self;
}



- (void)drawRect:(CGRect)rect
{
// Drawing code

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0); 
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor); 
CGContextMoveToPoint(context, 10.0f, 50.0f); 
CGContextAddLineToPoint(context, 10.0f, 200.0f);
CGContextStrokePath(context);

CGContextMoveToPoint(context, 8.0f, 77.0f); 
CGContextAddLineToPoint(context, 300.0f, 77.0f);
CGContextStrokePath(context);

CGContextSetRGBFillColor(context, 0, 0, 255, 0.1);
CGContextSetRGBStrokeColor(context, 0, 0, 255, 1);
CGContextStrokeEllipseInRect(context, CGRectMake(65.0, 33.5, 25, 25));

UIImage *image1 = [UIImage imageNamed:@"PinDown1.png"];
UIImage *image2 = [UIImage imageNamed:@"pinGreen_v1.png"];

CGPoint drawPoint = CGPointMake(0.0f, 10.0f); 
[image2 drawAtPoint:drawPoint];

for(int i =1; i<20; i++){
    CGPoint drawPointOne = CGPointMake(40.0f * i, 40.0f); 
    [image1 drawAtPoint:drawPointOne];
}
}

Я что-то здесь упускаю? Это правильный путь.

1 Ответ

0 голосов
/ 31 января 2012

Если представление, которое должно выполнять рисование, находится в этом UIScrollView, вы должны поместить метод - (void)drawRect:(CGRect)rect в метод класса этого представления, а не в подкласс UIScrollView.

...