2012-01-06 9 views
1

私はUIScrollViewに問題があります。私はナビゲーションコントローラでビューを呼びたいと思う。私のコードには、タップジェスチャーを検出する方法があり、ナビゲーションバーとツールバーを非表示にする方法もあります。UIScrollViewは、他のすべてのユーザー操作を無効にしますか?

また、ユーザーがボタンを押すとUIAlertViewが表示されるという方法もあります。これらはうまくいきます(私はコードをコメントアウトしました)、しかし、私がビューを追加すると、ジェスチャ認識とUIAlertViewは動作していないようですが、スクロールビューが隠されています。しかし、ナビゲーションバーのボタンは機能します...

どのように有効にするかについてのアイデアはありますか?以下はScrollViewを呼び出すコードです:

scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,  self.view.frame.size.height)]; 
    scroll.pagingEnabled = YES; 
    NSInteger viewCount = 15; 
    for (int i = 0; i < viewCount; i++) { 
     CGFloat yOrigin = i * self.view.frame.size.width; 
     UIImageView *filterViewOverlay = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
     [filterViewOverlay setImage:[filterManager objectAtIndex:i]]; 
     [scroll addSubview:filterViewOverlay]; 
     [filterViewOverlay release]; 
    } 
    scroll.contentSize = CGSizeMake(self.view.frame.size.width * viewCount, self.view.frame.size.height); 
    [self.view addSubview:scroll]; 
    [scroll release]; 

前もって乾杯!

ローレンス

答えて

0

はScrollviewは、他のすべてのIBOutletsの背後にあることを確認し、ユーザーとの対話が有効になっていることを確認してください。

+0

ナビゲーションバーの後ろにscrollViewを配置する方法はありますか?ナビゲーションバーがscrollViewがロードされるnabコントローラにリンクされていませんか?また、アラートビューは、ボタンが押された後でscrollViewの後に呼び出されますが、まだ表示されていないので、scrollView(私が推測している)は既にその背後にあります。 IBOutletsに関しては、すべてが実際にナビゲーションバー/ツールバーにコード化されているので、何もありません。 –

0

スクロールビューのdelaysContentTouchesプロパティに注意してください。デフォルト値はYESです。つまり、スクロール・ビューは、スクロールまたはズームなど、タッチが認識するジェスチャーの一部であるかどうかを決定するまで、タッチ・イベントを転送しません。

+1

私はコードscroll.delaysContentTouches = NOを使用しました。まだ何も動作しません。私はジェスチャーとしてただ一つのタップを使用しようとしています。 –

関連する問題