나는 UI30View를 initWithFrame
으로 만들고 정확히 원하는 위치에 멋지게 표시합니다. 내가보기 (이 같은 다른 뷰)를 누르면UIView는 서로 다른 두 가지 방법으로 센터를 다르게보고합니다.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"center: %f",self.center.x);
}
, 그들은 모두가 제대로 자신의 중심 지점으로 의미가 숫자를 기록 :
일부 터치 상호 작용을 테스트하기 위해, 나는 다음과 같은했다 뷰의 슈퍼 뷰의 좌표 공간 메서드 내에서 동일한 로그 문을 수행하면self.center.x
은 뷰의 수퍼 뷰 공간에 좌표를보고하지 않습니다. 대신 경계 중심 인 지점을보고합니다. 즉,보기가 100 픽셀 너비 인 경우 모든보기에 대해
50
을보고합니다.
내가 이해할 수없는 것은 이러한보기가 움직이지 않으며 프레임이 CGRect
으로 전달되고보기가 올바른 위치에 표시되기 때문에 프레임이 initWithFrame
의 시작 부분에 명확하게 설정되어 있다는 것입니다. 그렇다면 왜 그 방법으로 중심점을 제대로보고하지 않는 것일까 요?
당신이 initWithFrame를 게시 할 수 없습니다 :? – danh