iphone краска сверху / наложение с проходом события - PullRequest
0 голосов
/ 09 февраля 2011

Я бы хотел рисовать поверх моих подпредставлений или другими словами: иметь наложение, которое не блокирует события.Итак, я обнаружил: - все инструкции в drawRect нарисованы ниже подпредставлений, - добавление прозрачного UIView в события верхних блоков.

Есть ли еще один прием, который я могу попробовать?

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

Чтобы решить эту проблему, вы хотите переслать события hitTest. Добавьте приведенный ниже код в ваш проект, добавьте UIImageView в ваш интерфейс, установите его класс равным ClickThroughImageView и подключите выход «onTopOf» к любому UIView под изображением.

Файл ClickThroughImageView.h:

  #import <Foundation/Foundation.h>


    @interface ClickThroughImageView : UIImageView 
    {
        IBOutlet UIView *onTopOf;     
    }

    @property (nonatomic, retain) UIView *onTopOf;

    @end

Файл ClickThroughImageView.m

#import "ClickThroughImageView.h"


@implementation ClickThroughImageView : UIImageView
@synthesize onTopOf;


- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    return [onTopOf hitTest:point withEvent:event];
}

@end
0 голосов
/ 09 февраля 2011

Используйте прозрачный UIView сверху, и в IB снимите флажок «Взаимодействие с пользователем включено» для этого представления, тогда входные события перейдут к элементам управления под ним.

Или, в коде do:

UIView *overlayView = [[UIView alloc] init...];
overlayView.userInteractionEnabled = NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...