2011-02-08 7 views
1

UITableViewCell의 imageView의 frame 속성을 사용하여 완벽하게 유효하게 설정했지만 (오류는 발생하지 않음) 효과가 없으므로 imageView는 움직이지 않습니다.Apple은 속성 변경을 어떻게 방지합니까?

Apple은 표준 UIKit 구성 요소 (예 : UIImageView)에서 프레임이 수정되는 것을 어떻게 방지합니까?

내 프로젝트 중 하나에서 동일한 작업을 수행해야하지만 특정 속성에 대한 쓰기 액세스를 방지하기 위해 하위 클래스를 사용하지 않는 것이 좋습니다.

답변

4

layoutSubviews가 어떤보기에 있든 무시하고 프레임을 설정하십시오.

+0

셀에서 UIImageView의 프레임을 변경하고 싶지는 않습니다. 프레임을 변경할 수없는 방식으로 복제하려고합니다. –

+0

이렇게하면 프레임을 변경할 수 없게됩니다.layoutSubviews에서 설정 한 값으로 고정됩니다. –

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

읽기 전용은 당신이있을 경우 속성에서 유지 제거해야, 유지와 함께 사용할 수 없습니다.


은 더 나은이 시간에 질문을 읽어 cell.imageView.image이 전무 같을 때 애플은 단순히 프레임을 재설정합니다. 이는 textLabel 및 detailTextLabel 앞에있는 공백을 방지하기위한 것입니다. 프레임을 설정할 수 있지만 UITableViewCell은 단순히 프레임을 다시 설정합니다.

+0

제 질문을 다시 읽으십시오. 서브 클래 싱을 피하고 싶지만 프레임을 수정하지 못하도록 기존 UIKit 객체가 변경되는 것을 막고 싶습니다. –

+0

Objective-C 범주를 피하기를 원하십니까? –

+0

확실히 내가 카테고리를 사용하면 모든 UIImageViews에 영향을 미칩니 까? 나는 여전히 내 응용 프로그램의 다른 곳에서 정상적으로 UIImageViews를 사용하려고합니다. –

관련 문제