0

このようなインターフェイスビルダーツリーを作成します

myScrollview
    UIView

実行すると、スクロール ビューにこのような 3 つのサブビューがあるように見えます

myScrollview
   UIView
   UIImageView
   UIImageView

この結果は、super viewDidLoad の前に追加されたこのコード (ブレークポイントとウォッチ パネルを使用) によってテストされます。

for(int i = 0 ; i < myScrollview.subviews.count ; i++){  
    id temp = [myScrollview.subviews objectAtIndex:i];  
}

一部のプロパティを削除した後にエラーが表示され、すでにインターフェースビルダーをチェックしていますが、この削除に関連する警告は残っていません

このバグについてより多くの手がかりを得るにはどうすればよいですか?


解決した

3番目のスクロールビューを後ろに移動します。このビューには loadNib がロードされており、非表示に設定できていないと思います (既に設定されていますが、消えていません)。ThridScrollView.hidden = TRUE をどこに設定すればよいかわかりません。~__~'

4

2 に答える 2

0

そのコードは間違っています。myScrollview.subviews ではなく、myScrollview 内のオブジェクトを探しています。

そのはず:

for(int i = 0 ; i < myScrollview.subviews.count ; i++){  
    id temp = [myScrollview.subviews objectAtIndex:i];  
}
于 2013-02-28T17:04:41.780 に答える
0

これは完全に正常であり、IB で自分で再現できます。AUIScrollViewには、アクセスできない多くのサブビューが含まれています。これには、エッジを越えてUIImageViewsバウンス/スクロールしたときに表示される「グラデーション」を表示するために使用される が含まれます。UIScrollView

表示されているのは、Apple がスクロール ビューの実装で使用する「プライベート」ビューです。これらは無視してください。Apple が提供するほとんどのビュー クラス (スクロール ビュー、テーブル ビュー、コレクション ビューなど) には、文書化されておらず、Apple が内部で使用している追加のサブビューがあることに注意してください。原則として、通常は認識していないサブクラスsubviewsで行われているものがあるため、欺瞞的である可能性があることに留意する必要があります。UIView

これらのプライベートな画像ビューに関連していると思われる問題が発生している場合は、お知らせください。問題の正確な内容について詳細をお知らせください。スクリーンショットは非常に役立ちます。

于 2013-02-28T17:07:50.387 に答える