0

UIScrollView でホストされている UITableView の画面がある iPad アプリケーションを開発しています。UITableView の先頭のスペースと末尾のスペースは、スーパービューに固定されています。

プロジェクトで Autolayout を使用しています。

この画面が横向きモードで表示されるか、回転して表示されると、UITableView のすべての表示要素が正しくサイズ変更されます。ただし、x=768pt以降の領域は触れられません。編集可能な要素 (テキスト ビューとテキスト フィールド) の先頭がタッチ可能であるため、間違いなく領域です。テーブルの contentSize を確認しましたが、問題ありません (私の場合は 1024)。また、iPad を横向きから縦向きに回転させても、テーブルの contentSize は横向き (1024) のままです。このトピックの解決策を試しました:方向変更後の UITableView レイアウトのバグで、うまくいきました。これが私の問題に関連しているかどうかはわかりません。

UITableView の代わりに通常のビューを配置しようとしました。このビューでは、回転後のタッチ領域は問題ありませんでした。ただし、このビューの右側の領域にテーブルを配置しても、応答しませんでした。

テーブルのプロパティ clipsToBounds が YES に設定されているため、コンテンツが UITableView の外に出ていないようです。

この問題の原因を指摘してください。今、私はこれを引き起こす可能性のあるアイデアが完全にありません。

4

1 に答える 1

2

解決策を見つけました。問題は、カスタム セルのオーバーライドされたメソッド -(void)layoutSubviews にありました。[super layoutSubviews] を呼び出すのを忘れただけです。

非標準ビューで [super layoutSubviews] を呼び出すことを忘れないでください。

私の解決策が、単純な問題で時間を無駄にしないようにするのに役立つことを願っています。

于 2013-03-10T09:33:37.093 に答える