2016-04-07 4 views
0

私はパーソナライズされたオブジェクト(PostIt.xib)を持っています。 私は関数を持っています:addNewPostIt私は良いボタンを押したときに...うん、あなたはそれを持っています(ヒント:新しいpostitを追加します;))。タップした後、他のすべてのオブジェクトの前にオブジェクトを置く

私はボタンを押してたくさん作成することができ、すべてのpostitはドラッグ可能です(パンジェスチャ認識機能のおかげ)。

ここで、私がしたいのは、私がそれらの1つをタップすると、他のすべてのものの前に置くことです。

私は明らかにTap Gesture Recognizerを使うべきだと思いますが、どうやって処理するのか分かりません。 誰かが私を助けてくれますか?どうもありがとう!

編集:私はUITapGestureRecognizerを持っているの下で私のPostIt.hにリンクされている:あなたが見てしたい場合はここで

は私のaddNewPostIt機能である:

- (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 

答えて

0

uはPostIt.hでtap:方法をしたい場合は、[OK]その後、uはuは以下のようにタップを処理する必要がPostIt.mファイルに以下

のように行うことができますファイル

- (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]; 
} 

、これを試してみてください、 スーパービューにはすべてのPostItビューが追加されているので、スーパービューのbringSubviewToFrontメソッドを呼び出す必要があります

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

私は[self bringSubviewToFront:targetView]を使う必要があると思います。それから、うまくいきませんでしたが、私のUITapGestureRecognizerが私のPostIt.hにリンクされていると付け加えたいと思います: - (IBAction)tap:(UITapGestureRecognizer *)recognizer; おそらくそれは私を助ける助けになるかもしれません:p(私はこれを私の質問にもっと明快に追加します) – Kokodelo

+0

OK - '(IBAction)tap:(UITapGestureRecognizer *)recogniser'のタップを処理するコードを追加してください –

+0

私はしませんあなたがここで言っていることを本当に理解しています...私のコードにこの行を追加する必要があるのはどこですか?この行は私のPostIt.hに既にあるものとまったく同じです。私にもう少し説明してください:) @シャン – Kokodelo

0

あなたがいることをしたい場合すべてのビューの上にビュー、あなたはこの

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

ともサブビュー

を追加するには、このリンクを参照してくださいを使用する必要があります

Add child view controller to current view controller

関連する問題