плагины в keywindow не могут отвечать на события пользователя? - PullRequest
0 голосов
/ 05 июня 2018

В моем viewcontroller, как это:

#import "PPSharedView.h"
@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    PPSharedView * sharedView = [[PPSharedView alloc] init];
    sharedView.topImageName = @"fenxiangdao";
    [sharedView sharedWithArrayImage:@[@"weixin_um",@"weixin_um",@"weixin_um",] titles:@[@"微信好友",@"微信好友",@"微信好友",]];
}
@end

В PPSharedView.h, как это:

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface PPSharedView : UIView

-(void)sharedWithArrayImage:(nonnull NSArray *)arrImgs
                     titles:(nonnull NSArray *)arrTitles;

@end

В PPSharedView.m ниже:

-(void)sharedWithArrayImage:(NSArray *)arrImgs titles:(NSArray *)arrTitles{
    if (arrImgs.count != arrTitles.count) return;

    UIWindow * keyWindow = [UIApplication sharedApplication].keyWindow;
    UIView * backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kSCREEN_W, kSCREEN_H)];
    [keyWindow addSubview:backView];
    backView.backgroundColor = [UIColor blackColor];
    backView.alpha = 0.5;
    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickRedview)];
    backView.userInteractionEnabled = YES;
    [backView addGestureRecognizer:tap];
}

-(void)clickRedview{
    NSLog(@"adf");
}

Когда я запускаю приложение на iPhone, backView на экране, но не может реагировать на события щелчка. Никто не знает, что не так с кодом? Спасибо большое!

1 Ответ

0 голосов
/ 05 июня 2018

В контроллере ссылка на sharedView должна быть приведена в качестве примера:

@interface ViewController ()
@property(nonatomic, strong) PPSharedView * ppView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    PPSharedView * sharedView = [[PPSharedView alloc] init];
    self.ppView = sharedView;
    sharedView.topImageName = @"fenxiangdao";
    [sharedView sharedWithArrayImage:@[@"weixin_um",@"weixin_um",@"weixin_um",] titles:@[@"微信好友",@"微信好友",@"微信好友",]];
}


@end

Если этого не сделать, sharedView будет уничтожен!

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