아래의 코드는 두 가지 가능한 가로 방향 중 하나에서 잘 작동하지만 장치 180을 다른 가로 세로 방향으로 돌리면 이미지가 아래쪽에있는보기와 비교할 때 아래쪽에 있습니다.오버레이보기가 기본보기로 회전/회전하도록하는 방법은 무엇입니까?
그래서 스토리 보드에 만든보기의 코드 위에 만든보기 (전체 화면 위에 오버레이하여 이미지가있는)가 있습니다.
질문 : 반투명 오버레이보기의 왼쪽 위 모서리는 기본보기가있는 곳의 왼쪽 위 모서리와 동일한 위치에 그려 질 수 있습니까?. 기본 뷰를 사용하려면 오버레이 뷰가 필요합니다.
여기 내가보기 커버 (오버레이)self.overlayView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height)];
그럼 내가보기에 표시 할 좋아하는 이미지를로드 전체 화면을 보자.
UIImage* image = [UIImage imageNamed:@"image.png"];
여기가 내가 행운와 방향으로 모든 노력을 한 이미지
[overlayView setImage:image];
을 설정합니다. 내 앱이 자동으로 360 ° 회전하므로 상태 표시 줄이 항상 위로 올라와 있습니다.
누군가에게 감각을 가지기를 바랍니다.
편집 : 여기에 전체 코드가
UIWindow* keyWindow = [UIApplication sharedApplication].keyWindow;
self.overLayView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height)];
[overLayView setImage:[UIImage imageNamed:@"someImage1.png"]];
overLayView.tag = 1; //Used to remove the view in another function
overLayView.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5]; //Semi transparent
CGRect viewFrames = CGRectMake([[UIScreen mainScreen] bounds].size.width - 100, [[UIScreen mainScreen] bounds].size.height - 100, 75, 75);
self.exitHelpView = [[UIImageView alloc] initWithFrame:viewFrames];
[self.exitHelpView setImage:[UIImage imageNamed:@"imageOfXUsedToCloseWhenClicked.png"]];
self.exitHelpView.tag = 2; //Used to remove the view in another function
[keyWindow addSubview:overLayView]; //The view covering the whole screen
[keyWindow addSubview:self.exitHelpView]; //Image of an X
을 사용 그리고 내 .H 파일에
@property (strong, nonatomic) IBOutlet UIImageView* overLayView;
@property (strong, nonatomic) IBOutlet UIImageView* exitHelpView;
보기 계층 구조에서 실제로 overlayView를 표시하는 데 사용하는 코드를 게시하십시오. UIWindow에 직접 추가 하시겠습니까? 또는 뷰 계층 구조에 이미있는 다른 뷰에 하위 뷰로 추가하고 있습니까? – Idles
코드가 게시됩니다 :-) 직접 UIWindow에 추가하고 있습니다. 나는 다른 뷰에 추가하려고했지만 오버레이에서 imageView (X 사용)를 제외한 모든 뷰에 터치를 제거하는 데 문제가있었습니다. – Sturla