2011-02-08 6 views
1

UITableViewCellのimageViewのフレームプロパティを取得し、完全に有効に設定しようとしましたが(エラーは発生しません)、効果はありません。imageViewは移動しません。Appleはどのようにプロパティの変更を防止しますか?

アップルは、標準のUIKitコンポーネント(たとえばUIImageView)でフレームの変更を防止する方法を教えてください。

私のプロジェクトで同じことを達成する必要がありますが、特定のプロパティへの書き込みアクセスを防ぐためにサブクラス化しないことをお勧めします。

答えて

4

layoutSubviewsがどのビューであっても上書きし、そのフレームを設定します。

+0

私はセル内のUIImageViewのフレームを変更したくないので、フレームを変更できないように複製したいと思います。 –

+0

これは、フレームを変更できないようにします。layoutSubviewsで設定した内容に固定されます。 –

0
@property (atomic, readonly) NSJonSkeet *jonSkeet; 

読み取り専用を保持して使用することはできません、あなたはそれがあるかどうあなたの財産から保持削除する必要があります。


私はより良い、この時間をあなたの質問をお読みください。cell.imageView.imageがnilに等しい場合、アップルは、単純にフレームをリセットします。これは、textLabelおよびdetailTextLabelの前にある空白を防ぐためです。フレームを設定することはできますが、UITableViewCellは単にフレームを戻すだけです。

+0

質問を再読してください。サブクラス化を避けたいのですが、変更できない既存のUIKitオブジェクトのフレームが変更されないようにしたいのです。 –

+0

Objective-Cカテゴリも避けたいですか? –

+0

カテゴリを使用すると、すべてのUIImageViewに影響しますか?私はまだ私のアプリのどこか別の場所でUIImageViewsを使用したいと思っています。 –

関連する問題