Skip to content

Instantly share code, notes, and snippets.

@harryhan24
Created March 23, 2017 12:21
Show Gist options
  • Save harryhan24/92cf3ea17a99915c8f11a550481e4975 to your computer and use it in GitHub Desktop.
Save harryhan24/92cf3ea17a99915c8f11a550481e4975 to your computer and use it in GitHub Desktop.
override func viewDidAppear(_ animated: Bool) {
var contentWidth: CGFloat = 0.0
let scrollWidth = scrollView.frame.size.width
//x는 0부터 2까지
for x in 0...2{
//스크롤뷰는 사진 같은 느낌이 강하다.
//이미지를 UIImage 타입으로 바꾸어 주기
let image = UIImage(named: "icon\(x).png")
//이미지 형식을 스토리 보드 사용 가능한 인터페이스 형식으로 다기 바꾸어주기
let imageView = UIImageView(image: image) //사실 한줄로 해도 무방할 것 같기는 함
images.append(imageView)
//실수값 선언
var newX: CGFloat = 0.0
//이 실수값은 view.frma
//아래에서 지칭하는 view는 rootView이기 때문에 view.frame.midX는 정중앙을 의미하며 그 정중앙값에서 해당 view 크기만큼 오른쪽으로 이동시켜준다.
//width가 바뀌면 해당 width값도 바뀌어야 한다.
//ViewDidLoad에선 midX값이 뭘 해도 0이다. 왜냐면 View가 Load 된 다음에 되기 때문이다. 때문에 해당 영역 값이 줄어든다면
//View값도 줄어들어야하는데 함께 줄어들지 않는다.
//때문에 view가 아닌 ScrollView로 바꾸어주고 View가 다 load된 다음에 지정해주자.
newX = scrollView.frame.size.width / 2 + scrollView.frame.size.width * CGFloat(x)
//전체 컨텐츠 값을 갖고 있어야 하기 때문에 x값을 다 더해준다.
contentWidth += newX
scrollView.addSubview(imageView)
//이미지를 소환합니다.
//x값은 이미지의 중앙을 위해서 -75만큼 마이너스를 해줍니다.
imageView.frame = CGRect(x: newX-75, y: (scrollView.frame.size.height / 2)-75, width: 150, height: 150)
}
scrollView.backgroundColor = UIColor.purple
scrollView.contentSize = CGSize(width: contentWidth, height: view.frame.size.height)
print("Count: \(images.count)")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment