안녕하세요, 지금 바코드 스캐너를 개발중에 있는데요, 해당 네모칸 안에 바코드를 넣도록 유도하기 위해서 빨간 박스를 만들어서 addsubview를 해 주었습니다. 그런데 이런식으로 CameraView가 뜨기 이전에 일시적으로 빨간색 유도선이 먼저 뜨는 현상이 발생하고 그 뒤로 오른쪽으로 넘어가는 현상이 발생하고 있습니다. 이 현상을 해결하고 CameraView와 거의 동시에 유도선을 띄울 수 있게끔 만들고 싶습니다. 코드는 맨 아래에 첨부하였고 makeRectangle이 유도선을 만드는 것이고, 바코드 스캐너를 만들기 위한 뷰는 sessionqueue에 비동기처리 시켜주었습니다. 이 큐는 mainqueue에서 작업을 안하도록 만들기 위해서 별도의 라벨을 붙여 dispatchqueue를 이용해 만들었습니다.
좋아요 1
캡춰한 viewWillAppear는 어느 클래스에 작성한 코드인지 정보가 없네요.
카메라가 동작하는 뷰 컨트롤러를 모달 형태로 나타나게 했다면 UIViewController의 present(_:animated:completion:) 메소드를 사용해야 할테고, 이 메소드의 completion이 모달로 씬이 전환되고 나서(화면에 보이고) 동작합니다. 이 곳에 넣어서 해보세요.
좋아요 1
OperationQueue의 async 문제와도 연관이 있어보이네요.
self.session이 실행되기 전에 makeRectangle()이 실행되어 버리는 거죠.
AVCapture의 델리게이트 메소드 안에서 처리를 하거나
makRectangle()함수가 sessionQueue안에서 startRunning()에 디펜던시를 가져야 할 듯 해요
좋아요 1