рисование фигур и кнопок - PullRequest
       25

рисование фигур и кнопок

0 голосов
/ 23 сентября 2010

Кривая обучения для разработки iPhone была менее крутой, чем я ожидал. После нескольких уроков и отличной книги Apress «Начало разработки iPhone 3» дела пошли совершенно нормально. И, конечно же, когда я застрял, этот форум очень помог. До сих пор я никогда не занимался «графическим» программированием ни на одной платформе, над которой работал в прошлом, так что для меня это вообще неизведанная территория, в частности, для iPhone. Мне пока не удалось найти отличный источник информации, поэтому я надеюсь, что некоторые из них могут либо помочь мне напрямую, либо точно указать мне источник (книгу, сайт) с валхаллой рисования;)

Я хочу сделать диаграмму Ганта, подобную рисованию. На блоках должен быть текст, объясняющий, что это за блок, и кнопка (пользовательская форма, например, звезда), на которую пользователь может нажать. При переключении кнопка должна изменить цвет.

Я смог найти и опробовать: создайте отдельное представление, а затем внедрите этот код в это представление:

- (void)drawRect:(CGRect)rect {
    //Get the CGContext from this view
    CGContextRef context = UIGraphicsGetCurrentContext();


    //Draw it
    CGContextStrokePath(context);

    //Draw a rectangle
    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
    //Define a rectangle
    CGContextAddRect(context, CGRectMake(40.0, 10.0, 100.0, 60.0));
    //Draw it
    CGContextFillPath(context);
}

Пока все хорошо, но я застрял сейчас. Мои проблемы:

  • (0,0) координаты находятся в верхнем левом углу в портретном режиме, но мою диаграмму нужно просматривать в альбомном режиме, и конвертировать все не так просто, поэтому мне было интересно, смогу ли я изменить система координат.

  • Как нарисовать текст в этом прямоугольнике

  • Как узнать, что прямоугольник достаточно большой для моего текста

  • Как создать работающую кнопку в этом прямоугольнике

  • Менее важно, но пока я спрашиваю ... Как нарисовать более причудливый блок на графике. Текущий блок является простым плоским цветом, но было бы неплохо нарисовать блок немного более похожим на iCal (с градиентами).

большой ТИА !!!

1 Ответ

1 голос
/ 24 сентября 2010

О том, как нарисовать текст и исправить его в прямоугольнике, вы можете увидеть эту статью .NSString UIkit addon предоставляет несколько дополнительных методов для рисования строки с желаемым размером.

...