2014-02-16 2 views
0

Я пытаюсь добавить жест в подвид из более UICollectionViewCell сделать с XIb, я делаю это:Добавить Жест в UICollectionViewCell подвид с XIb

.h

@interface MyCell : UICollectionViewCell <UIGestureRecognizerDelegate> 

@property (weak, nonatomic) IBOutlet UIView *containerButton; 

@end 

.m

@implementation MyCell 

- (id)initWithCoder:(NSCoder *)aDecoder 
{ 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
     [self initialize]; 
    } 
    return self; 
} 

- (void)initialize 
{ 
    UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; 
    [panGestureRecognizer setDelegate:self]; 

    if (self.containerButton) { 
     NSLog(@"ok"); //not enter here 
     [self.containerButton addGestureRecognizer:panGestureRecognizer]; 
    } 
} 

-(void)prepareForReuse { 
    [super prepareForReuse]; 
    if (self.containerButton) { 
     NSLog(@"ok 2"); 
    } 
} 

Я создал подкласс UICollectionViewCell, связанный с файлом XIb, где Я создал представление кнопки контейнера, если я пытаюсь добавить жест в метод инициализации, containerButton равен нулю, поэтому не работает, но в методе prepareForReuse не пуст, я могу добавить там жест? или я могу сделать это в другом месте?

ответ

1

Попробуйте это:

- (void)awakeFromNib 
{ 
    UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; 
    [panGestureRecognizer setDelegate:self]; 

    if (self.containerButton) { 
     NSLog(@"ok"); //not enter here 
     [self.containerButton addGestureRecognizer:panGestureRecognizer]; 
    } 
} 
Смежные вопросы