Создайте цветной пузырь/круг программно в ObjectiveC и Какао

Google не предоставляет компонент «Календарь» для прямой интеграции с вашим приложением.

Вам следует использовать Google API для подключения и извлечения событий календарей, а затем использовать свой собственный или один из компонентов календаря с открытым исходным кодом для отображения этих событий. Вы можете найти компоненты календаря с открытым исходным кодом здесь , выбрав один из них в соответствии с вашими потребностями.

Google приводит пример подключения к этим API здесь

.

14
задан Marc Charbonneau 9 December 2008 в 23:45
поделиться

3 ответа

Создайте подкласс NSView, который содержит NSColor как ivar. В drawRect методе создайте NSBezierPath соответствующего размера, с помощью границ представления. Затем выберите цвет [myColor set] и заполните путь [myPath fill]. Существует намного больше, можно сделать, такие как прозрачность набора, граница, и так далее и так далее, но я оставлю это документам, если у Вас не будет конкретного вопроса.

Для использования подкласса NSView просто перетащите объект представления на перо и выберите название подкласса в пользовательском классе в инспекторе IB. Необходимо будет также установить торговую точку на него в контроллере, таким образом, можно будет изменить цвет по мере необходимости.

11
ответ дан 1 December 2019 в 05:56
поделиться

Существует пара шагов к рисованию чего-то в Какао.

Сначала Вам нужен путь, который будет использоваться для определения объекта, что Вы собираетесь быть рисунком. Смотрите, здесь Таща Фундаментальные Формы для руководства по созданию путей в Какао. Вы будете больше всего интересоваться отправкой сообщения "appendBezierPathWithOvalInRect" к объекту "NSBezierPath", это берет прямоугольник, который ограничивает круг, который Вы хотите нарисовать.

Этот код создаст 10x10 круг в координатах 10,10:

NSRect rect = NSMakeRect(10, 10, 10, 10);
NSBezierPath* circlePath = [NSBezierPath bezierPath];
[circlePath appendBezierPathWithOvalInRect: rect];

После того как у Вас есть свой путь, Вы хотите выбрать цвет для текущего контекста рисунка. Существует два цвета, штрих и заливка; штрих является схемой пути, и заливка является внутренним цветом. Для выбирания цвета, Вы отправляете "набор" в объект "NSColor".

Это устанавливает штрих на черный цвет и заливку к красному:

[[NSColor blackColor] setStroke];
[[NSColor redColor] setFill];

Теперь, когда у Вас есть свой путь, и Вам установили Ваши цвета, просто заполняют путь и затем тянут его:

[path stroke];
[path fill];

Все это должно будет быть сделано в графическом контексте как в drawRect представления, возможно. Все это вместе с графическим контекстом было бы похоже на это:

- (void)drawRect:(NSRect)rect
{
    // Get the graphics context that we are currently executing under
    NSGraphicsContext* gc = [NSGraphicsContext currentContext];

    // Save the current graphics context settings
    [gc saveGraphicsState];

    // Set the color in the current graphics context for future draw operations
    [[NSColor blackColor] setStroke];
    [[NSColor redColor] setFill];

    // Create our circle path
    NSRect rect = NSMakeRect(10, 10, 10, 10);
    NSBezierPath* circlePath = [NSBezierPath bezierPath];
    [circlePath appendBezierPathWithOvalInRect: rect];

    // Outline and fill the path
    [circlePath stroke];
    [circlePath fill];

    // Restore the context to what it was before we messed with it
    [gc restoreGraphicsState];
}
31
ответ дан 1 December 2019 в 05:56
поделиться

Загрузите эскиз с яблока. http://developer.apple.com/library/mac/#samplecode/Sketch

Это может сделать намного больше, но одна из вещей, рисуют круги.

2
ответ дан 1 December 2019 в 05:56
поделиться