de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 Yaz
Yaz
質問

タッチでUIButtonを動かす

私は使用しています:

[button addTarget:self action:@selector(moved:) forControlEvents:UIControlEventTouchDragInside];

機能コード移動:

- (IBAction)moved:(id)sender {
UIButton *t = sender;

UITouch *touch = [touch self];

CGPoint touchPoint = [touch locationInView: self];

t.center = touchPoint;
}

だから、私がボタンをドラッグし始めると、突然左上隅に現れます(Coord:0; 0)。 CGPoint touchPoint = [touch locationInView:self]; が正しく動作しないため、これは問題だと思いました。 私は3つのクラスを持っています:viewControllerは、の実装を行います:

view = [[MainView alloc] initWithFrame:[self.view frame] ];
[self.view addSubview:view];

viewはclass mainview(サブクラスuiview)のオブジェクトです。 mainviewで私はクラスのオブジェクトを作るButton(subclass uiview):

[self addSubview:but];

次に、クラスButton Iでは、UIButtonを作成し、イベントUIControlEventTouchDragInsideに関連付けます(投稿の冒頭を参照)。

だから私はどのように私のコードを修正する必要があります、そのボタンはポイントを正しくタッチに移動???

P.S.私のひどい英語のために申し訳ありません=)

1 2011-10-27T18:04:28+00:00 1
Michael Dautermann
Michael Dautermann
編集された質問 13日 9月 2012 в 7:12
プログラミング
events
ios
uiview
uibutton
touch
Bartosz Ciechanowski
27日 10月 2011 в 6:31
2011-10-27T18:31:48+00:00
さらに
ソース
編集
#56791266

本当にUIControlEventTouchDragInsideに固執したい場合は、以下のスニペットを使用してください。個人的には、代わりに UIPanGestureRecognizer を使用します。

- (IBAction)moved:(UIButton *)sender {
    UITouch *touch = [touch self];
    CGPoint touchPoint = [touch locationInView: sender.superview];
    sender.center = touchPoint;
}
2
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 17時間前
2
Hideo Nakagawa
登録済み 1日前
3
Sergiy Tytarenko
登録済み 3日前
4
shoxrux azadov
登録済み 5日前
5
Koreets Koreytsev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属