2016-04-07 37 views
0

Kişiselleştirilmiş bir nesnem var (PostIt.xib). Bir fonksiyonum var: addNewPostIt iyi düğmesine bastığımda ... Evet, anladım (ipucu: yeni bir postit ekle;)).Bir nesneyi bir dokunuşla diğerlerinin önüne koyun.

Düğmeye basarak bir çok şey oluşturabiliyorum ve her gönderi sürüklenebilir (pan jest tanıyıcı sayesinde).

Şimdi, yapmak istediğim şey, bunlardan birine dokunduğumda, onu diğerlerinin önüne koyacaktır.

Açıkçası bir Tap Jest Recognizer kullanmalıyım ama nasıl işleneceğini bilmiyorum ... Birisi bana yardım edebilir mi? Çok teşekkürler!

DÜZENLEME:

- (IBAction)addNewPostIt:(id)sender { 
    PostIt *postit = [[[NSBundle mainBundle] loadNibNamed:@"PostIt" owner:self options:nil] firstObject]; 
    postit.frame = CGRectMake(x, y, 400, 400); 
    [self.view addSubview:postit]; 
    x+=50; 
    y+=50; 
} 

-(IBAction)tap:(UITapGestureRecognizer *)recognizer 

cevap

0

Tamam bu deneyin

- (IBAction)addNewPostIt:(id)sender { 
    PostIt *postit = [[[NSBundle mainBundle] loadNibNamed:@"PostIt" owner:self options:nil] firstObject]; 
    postit.frame = CGRectMake(x, y, 400, 400); 
    [self addTapGestureTo:postit]; 
    [self.view addSubview:postit]; 
    x+=50; 
    y+=50; 

} 

- (void)addTapGestureTo:(PostIt *)postit 
{ 
    UITapGestureRecognizer *aTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tappedPostIt:)]; 
    [postit addGestureRecognizer:aTapGesture]; 
} 

- (void)tappedPostIt:(UIGestureRecognizer *)tapGesture 
{ 
    UIView *targetView = tapGesture.view; 
    [self.view bringSubviewToFront:targetView]; 
} 

u PostIt.h içinde tap: yöntemi, daha sonra dosya istiyorsanız u aşağıda gibi musluğu işlemek gerekir PostIt.m dosyada

altına gibi yapabilir, süper görünümü öylesine u Superview en bringSubviewToFront yöntem çağırmalıdır, tüm PostIt görünümü u eklenir işte tutan

- (IBAction)tap:(id)sender { 
    [self.superview bringSubviewToFront:self]; 
} 
+0

Sanırım [self bringSubviewToFront: targetView] kullanmalıyım; Öyleyse işe yaramadı ama UITapGestureRecognizer'ımın PostIt.h ile şu bağlantıya eklendiğini eklemek istiyorum: - (IBAction) musluğu: (UITapGestureRecognizer *) tanıyıcı; Belki de bana yardımcı olmanıza yardımcı olabilir: p (daha fazla netlik için bu soruyu ekleyeceğim) – Kokodelo

+0

ok '- (IBAction)' da musluk işlemek için kodu ekleyin: (UITapGestureRecognizer *) tanıyıcı ' –

+0

Burada ne dediğinizi gerçekten anlayın ... Bu satırı koduma eklemek için nereye ihtiyacım var? Bu hat, PostIt.h'imde zaten olanla aynı. Bana biraz daha açıkla lütfen :) @Shan – Kokodelo

0

eğer istiyorum: Eğer bir göz atmak isterseniz, işte

benim addNewPostIt fonksiyonudur: i altında benim PostIt.h bağlantı oluşturulmuş bir UITapGestureRecognizer var tüm görünümünün en görünümü o zaman subview

eklemek için bu

[self.view bringSubviewToFront:self.postit.view]; 

kullanmak ve ayrıca bu bağlantıyı görmek zorunda

Add child view controller to current view controller