Вопросы по XCode Cocoa (от VB.NET к Какао) - PullRequest
0 голосов
/ 01 марта 2011

Ну, я некоторое время программировал для VB.NET, и теперь меня интересует программирование приложений для Mac.

Я хорошо знаю Objective-C. Но, конечно, мне нужно понять среду разработки Cocoa / Xcode. Я понимаю, что Интерфейсный Разработчик является эквивалентом Дизайнера форм в VB.NET и других общих концепциях, которые, похоже, разделяют обе среды.

Теперь я начну с чего-то простого:

В VB.NET я использовал бы функцию Paint, чтобы получить объект Graphics и нарисовать красный прямоугольник где-нибудь в моем окне. Что такое эквивалент в какао?

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

1 Ответ

2 голосов
/ 01 марта 2011

Самый простой способ сделать что-то подобное - это создать подкласс стандартного класса представления и реализовать метод -[drawRect:]. Они обрабатываются немного по-разному в UIKit (iOS) и AppKit (Mac OS X). Например, чтобы нарисовать красную рамку размером видимых границ представления в iOS, вы должны создать подкласс UIView, а затем реализовать drawRect: например так:

- (void)drawRect:(CGRect)rect
{
  [[UIColor redColor] setFill]; // set the fill color
  UIRectFill([self bounds]);    // fill a box (this view's visible bounds)
}

Чтобы сделать то же самое в Mac OS X, вы должны создать подкласс NSView, а затем реализовать drawRect: вот так:

- (void)drawRect:(NSRect)rect
{
  [[NSColor redColor] setFill]; // set the fill color
  NSRectFill([self bounds]);    // fill a box (this view's visible bounds)
}

Для получения дополнительной информации вы можете взглянуть на Руководство по рисованию какао для работы с Mac OS X и AppKit или на Руководство по рисованию и печати для iOS для работы с iOS и UIKit.

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