Вы уверены в OpenGL?
Я полагаю, что будет невозможно использовать OpenGL над обычными представлениями.
Вы можете добавить пользовательское представление (наследовать от UIView) поверх всех остальныхвзгляды и нарисуйте все, что вы хотите на этом представлении.Этот вид должен иметь прозрачный цвет фона.Кроме того, если вы хотите взаимодействовать с другими представлениями (нажимать кнопки, редактировать текстовые представления, прокручивать и т. Д.), Вам придется реализовать метод hitTest в вашем настраиваемом представлении, чтобы передать событие касания расположенным представлениям.под этим ...
РЕДАКТИРОВАТЬ: Не связывайтесь с hitTest.Просто снимите флажок Взаимодействие с пользователем, включенное в XIB ...
РЕДАКТИРОВАТЬ: Пример кода:
@interface TransparentDrawingView : UIView {
CGPoint fromPoint;
CGPoint toPoint;
}
- (void)drawLineFrom:(CGPoint)from to:(CGPoint)to;
@end
@implementation TransparentDrawingView
- (void)initObject {
// Initialization code
[super setBackgroundColor:[UIColor clearColor]];
}
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// Initialization code
[self initObject];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aCoder {
if (self = [super initWithCoder:aCoder]) {
// Initialization code
[self initObject];
}
return self;
}
- (void)drawRect:(CGRect)rect {
// Drawing code
// Draw a line from 'fromPoint' to 'toPoint'
}
- (void)drawLineFrom:(CGPoint)from to:(CGPoint)to {
fromPoint = from;
toPoint = to;
// Refresh
[self setNeedsDisplay];
}
@end