основная графика drawRect указать координаты - PullRequest
0 голосов
/ 21 октября 2011

Я только начинаю разработку для iOS. Я работаю с основной графикой и пытаюсь понять, как ограничить размер рисунка и разместить его в определенных координатах на экране. Вот мой метод HomeViewController.m loadView AND addCircle и мой метод Artist.m drawRect:

HomeViewController.m -> loadView

- (void)loadView
{
    NSLog(@"HomeViewController.m : loadView");
    self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UILabel *lbl;
    lbl = [[UILabel alloc] initWithFrame:CGRectMake(65, 50, 220, 70)];
    lbl.text = @"Home Screen";
    lbl.font = [UIFont boldSystemFontOfSize:30];
    [self.view addSubview:lbl];
    [lbl release];

    UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeInfoDark ];
    infoButton.frame = CGRectMake(10, 10, 300, 300);
    [self.view addSubview:infoButton];
    [infoButton addTarget:self action:@selector(loadInfo) forControlEvents:UIControlEventTouchUpInside];
    [infoButton release];

    [self addCircle];

    // self.view = [[[Artist alloc] init] autorelease];
}

HomeViewController.m -> addCircle

- (void)addCircle
{
    Artist *artist = [[[Artist alloc] init] autorelease];
    [self.view addSubview:artist];
    // [artist drawRect:CGRectMake(100, 100, 100, 100)];
}

Artist.m -> drawRect

- (void)drawRect:(CGRect)rect
{
    NSLog(@"Artist.m : drawRect");
    // Drawing code
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGColorRef red = [[UIColor redColor] CGColor];

    CGContextFillRect(context, CGRectMake(130,200,120,120));
    CGContextSetFillColorWithColor(context,red);
    CGContextFillEllipseInRect(context, CGRectMake(130, 200, 120, 120));
}

По сути, я стараюсь избегать, чтобы рисунок занимал весь экран, а ограничивался размером, который я делаю, и располагался поверх других видов.

1 Ответ

0 голосов
/ 21 октября 2011

В вызове UIViewController вашего *1001* метода [self.view addSubview:artistView] добавьте свой пользовательский вид к существующему.Затем установите его размер и положение как обычно с помощью свойства frame.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...