(내 영어 아주 잘 LOL 아니다) 내가 subview.bounds을 변경할 때 내가있는 UIView의 bounds.size.height 변경하는 경우에 frame.origin.y 변화
난, 하위 뷰를 같이하여 UIView 객체를 정의했다. size.height, subview.frame.origin.y가 변경되었습니다. 내 코드에 문제가 있습니까?여기 내 코드입니다 :
- (IBAction)touch
{
static int i = 1;
NSLog(@"%d: Bounds: %@", i, NSStringFromCGRect(self.subView.bounds));
NSLog(@"%d: Frame: %@", i, NSStringFromCGRect(self.subView.frame));
self.subView.bounds = CGRectMake(0.f, 0.f, self.subView.bounds.size.width, self.subView.bounds.size.height + 50);
NSLog(@"%d: Bounds: %@", i, NSStringFromCGRect(self.subView.bounds));
NSLog(@"%d: Frame: %@", i, NSStringFromCGRect(self.subView.frame));
i++;
}
시스템 출력 : 실제로 프레임에 어떤 영향을 미치는가 경계를 변경
2011-12-23 12:11:29.316 Angry[7959:f803] 1: Bounds: {{0, 0}, {320, 100}}
2011-12-23 12:11:29.318 Angry[7959:f803] 1: Frame: {{0, 0}, {320, 100}}
2011-12-23 12:11:29.319 Angry[7959:f803] 1: Bounds: {{0, 0}, {320, 150}}
2011-12-23 12:11:29.320 Angry[7959:f803] 1: Frame: {{0, -25}, {320, 150}}
2011-12-23 12:11:30.920 Angry[7959:f803] 2: Bounds: {{0, 0}, {320, 150}}
2011-12-23 12:11:30.921 Angry[7959:f803] 2: Frame: {{0, -25}, {320, 150}}
2011-12-23 12:11:30.922 Angry[7959:f803] 2: Bounds: {{0, 0}, {320, 200}}
2011-12-23 12:11:30.923 Angry[7959:f803] 2: Frame: {{0, -50}, {320, 200}}
2011-12-23 12:11:32.080 Angry[7959:f803] 3: Bounds: {{0, 0}, {320, 200}}
2011-12-23 12:11:32.082 Angry[7959:f803] 3: Frame: {{0, -50}, {320, 200}}
2011-12-23 12:11:32.083 Angry[7959:f803] 3: Bounds: {{0, 0}, {320, 250}}
2011-12-23 12:11:32.084 Angry[7959:f803] 3: Frame: {{0, -75}, {320, 250}}
예, 당신이 옳다. 그러나 UIView.bounds.size.height가 변경되어 UIView.frame.origin.y도 변경되었습니다. 너무 이상해 보입니다. Apple 설명서에는 이에 대한 정의가 없습니다. – LekHo
다음은 문서 링크입니다. https://developer.apple.com/library/ios/documentation/windowsviews/conceptual/viewpg_iphoneos/WindowsandViews/WindowsandViews.html – cyrilchampier