2012-03-05 12 views
1

私はそれに画像ビューを持つスクロールビューを持っています。スクロールビュー内に配置された画像ビューをズームすることができます。その上に私はいくつかのuibuttonsを持っていますが、ズーム後に再配置しません。ズーム後にUIButtonsを再配置する

ズーム後にUIButtonの位置を変更するにはどうすればよいですか?

あなたの質問は少しあいまいです おかげ

+0

あなたは 'UIScrollView'の' layoutSubviews'をオーバーライドして、そこにあなたのポジショニングをしましたか? –

+0

いいえ、私は試してみませんでした..それを行うためのサンプルコードはありますか? – iOSDev

+0

まだ助けてください:( – iOSDev

答えて

0

を助けてください。しかし、あなたがやっていることが何であれ、私はUIScrollViewDelegateがあなたを助けることができると信じています。

これはスクロールビューのデリゲートで、スクロール時にそのことを知ることができます。私はボタンがどこにあるのか決して分かりませんでしたが、このデリゲートでは、どこにいても必要な場所に置くことができます。

+0

私は既にUIScrollviewデリゲートを実装しており、画像を正常にズームすることができましたが、ズームに再配置する必要がある画像ビューにUIButtonsがあります – iOSDev

1

一つの方法は、あなたのスクロールビューのデリゲートのscrollViewDidZoom:デリゲートメソッドを実装して、あなたのUIScrollViewcontentOffsetcontentSizeプロパティを使用して現在見えて矩形を決定し、スクロールビューの可視長方形に対するあなたのボタンの新しい位置を計算することであろう必要に応じてframeプロパティを設定して、その矩形にボタンの位置を変更します。

1

フィスクが述べたように、UIScrollViewDelegateが役立ちます。デリゲートメソッドの一つは次のとおりです。

-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale 

あなたはUIScrollViewのデリゲートを実装する場合は、あなたのscrollviewがズーム行われたときにこのメソッドが呼び出される必要があります。この方法では、ズーム後にボタンの位置を変更することができます。

[yourButton1 setCenter:CGPointMake(newX,newY)]; 

幸いです。

関連する問題