UIView의 사용자 정의 하위 클래스가 있는데 BottomBox라고 부를 수 있습니다.UIView의 크기를 몇 가지 방법으로 변경할 수 있습니까?
BottomBox는 대체 방법 가지고 모두 [* 슈퍼 세트 * 각각에, 현재 및 새로운 CGRects 로깅 및 중단 호출과
-(void)setBounds:(CGRect)bounds;
및
-(void)setFrame:(CGRect)frame;
을 .
BottomBox 오브젝트는 autoresizingMask 세트 가지고
bottombox1.autoresizingMask =
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin;
을하고이 화면 하단에 위치된다.
BottomBox 객체는 기본 .layer 속성의 하위 레이어를 포함하며 이러한 하위 레이어는 변형되며이 레이어의 경계 상자는 BottomBox 객체의보기 경계 영역 외부로 이동합니다. 이렇게하면 프레임/경계 접근자가 조정 된 경계 값을 돌려주게됩니다.
그러나 장치 방향을 변경하면 폭 또는 높이에 유연성이없는 autoresizingMask 속성에도 불구하고 BottomBox 개체의 크기가 비정상적으로 조정됩니다. 내 경험에 의하면 경계선/프레임의 높이가 조정되지 않았지만 너비가 너무 휘어져 있습니다.
이제 경계와 프레임의 진정한 의미를 오해하고 있습니다. 아마도 실제로는 서브 뷰와 하위 계층을 기반으로 모든 액세스에 대해 즉석에서 계산됩니다.
다른 방법으로 조정할 수 있는지 알고 싶습니다. 아마도 뭔가를 바라 볼 것입니다.