[英]Adding a tapGestureRecognizer to a Custom UIView with xib
背景:我有一系列問題,這些問題是設置一堆uiview並將其布置在屏幕上的基礎。 每個uiview都有一個標題和一個imageview。 我想向imageview添加輕擊手勢識別器,並讓uiview作為手勢委托。
問題:無法獲取uiview拾取的手勢。
到目前為止,我已經嘗試過的操作:如果我使用帶框架的init在代碼中初始化視圖,而不是通過將主視圖控件作為所有者通過主捆綁加載xib,則無需修改手勢代碼即可工作。 因此,我認為問題必須在於如何以及何時添加手勢識別器。 目前,我正在使用一種設置方法,該方法會加載問題名稱,然后將其添加到其中。 從筆尖醒着添加它不起作用。
這是加載每個uiview的循環代碼
NSArray* bundle = [[NSBundle mainBundle] loadNibNamed:@"QnA" owner:self options:nil];
QuestionAnswer *qa;
for (id object in bundle) {
if ([object isKindOfClass:[QuestionAnswer class]])
qa = (QuestionAnswer *)object;
}
CGRect f = qa.frame;
f.origin.x = x;
f.origin.y = y;
qa.frame = f;
[self.view addSubview: qa];
[qa setup:[questions objectAtIndex:i ]];
這是QuestionAnswer類中的“設置”方法
-(void)setup:(NSString *)label
{
self.afl.text = label;
UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
tgr.delegate = self;
[self addGestureRecognizer:tgr];
}
QuestionAnswer實現UIGestureRecognizerDelegate。 我在imageTapped的第一行有一個斷點,但從未到達那里。 我也嘗試過將手勢識別器直接應用於imageview無濟於事。
viewcontroller在splitview控制器中,當我在代碼中初始化視圖時,不要認為與識別器的工作相關。 :/
在viewDidLoad方法中添加手勢識別器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.