1
現在、私はUIImageViewを持っています。UIImageViewの移動時に画面の端を検出する
イメージが移動してイメージが画面ビューから移動できないようにするにはどうすれば画面のエッジが検出されますか?
現在、私はUIImageViewを持っています。UIImageViewの移動時に画面の端を検出する
イメージが移動してイメージが画面ビューから移動できないようにするにはどうすれば画面のエッジが検出されますか?
あなたはr
が範囲外になった場合
CGRect r = [iv convertRect:iv.bounds toView:self.view];
を使用して、(最も外側の)ビューの座標でUIImageView
の矩形が、それは、例えば、チェックの問題です見つけることができますこのように:もちろん
CGRect i = CGRectIntersect(r,self.view.bounds);
if (CGRectIsNull(i))
{
NSLog(@"way out of bounds");
} else if (!CGRectEqualToRect(i,r)) {
NSLog(@"partly out of bounds");
} else {
NSLog(@"self.view envelopes imageview");
}
、これは、例えば、最後の場合に場所を更新することによって、またはバックビューにある場合RECTを翻訳することにより(適切な取り扱いに置き換えNSLog()
文で、あなたのドラッグコードに配置する必要があります必要)
ありがとうございます。私はそれを試してみます – jarryd
何があるべきですか?そして、私はそれを作成するものとは別のクラスのdraggableItemを持っています。私はボックスにしたいビューのCGRectをハードコードできませんでしたか? – jarryd
'iv'はあなたの' UIImageView'へのポインタになります。あなたは 'iv.bounds'をハードコードすることができますが、実際の問題は解決しません。あなたは' [iv convertRect:...] '呼び出しのためにポインタを必要とします。 – mvds