2011-12-22 13 views
2

私は自分のアプリケーションにカスタムUIScrollViewを持っています。ユーザーがスクロール・ビューにタッチすると、画面全体を拡大表示します。私はこのコードを使用してみましたがUIScrollViewのフレームを動的に変更しますか?

は、しかし、何も起こりません:

-(void) touchesBegan: (NSSet *) touches withEvent:(UIEvent *) event { 

NSLog(@"Touch Detected"); 
self.frame = CGRectMake(0, 0, 768, 1024); 

} 

は、動的ビューのサイズを変更する方法はありますか?どういうわけか、サイズの変化をアニメーション化することも可能ですか?

ありがとうございます。

答えて

2

コードが正しいように見えます。おそらく、あなたのビューは親ビュー内でクリップされ、サイズが変更されていないかのように見えます。この場合、親ビューのclipsToBoundsプロパティに注意する必要があります。 UIScrollViewのcontentModeプロパティは他のいくつかの考慮事項(あなたが何が動作していないと思わないかわからない)です。その値によっては、UIScrollView自体が再描画されないことがあります。アニメイトで

[UIView animateWithDuration:<some float value in seconds> animations:^{ 

    self.frame = CGRectMake(0, 0, 768, 1024); 

}]; 

詳細:UIViewanimateWithDuration:animations:クラスメソッドを読んで)詳細はUIViewframeプロパティを読む)

アニメーションの例を参照してください。

+0

完璧な回答 - ありがとうございます。 – GuybrushThreepwood

関連する問題