UIScrollView에 헤더 이미지를 판별하는 여러 이미지를 표시합니다.
ScrolViewDelegate.swift
protocol ScrollViewDelegate{
func modalChanged(TouchNumber: Int)
}
TouchScrollView.swiftimport UIKit
class TouchScrollView: UIScrollView {
var Delegate: ScrollViewDelegate!
//タッチしたときの処理
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
println("touchbegan")
//どのタグのObjectがとれたか
for touch: AnyObject in touches {
var t: UITouch = touch as UITouch
self.Delegate.modalChanged(Int(t.view.tag - 1))
}
}
//タッチして動かしたときの処理
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
println("touchmoved")
}
//タッチして離したときの処理
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
println("touchended")
}
}
헤더가 뽑혔을 때의 처리를 쓰기 위해, 헤더 사진이 저장된 배열 (UIImageView) 의 번호를 조사 사진의 라벨에modalChanged 방법의 매개 변수로 건네준다.ViewController.swift
import UIKit
class ViewController: UIViewController,ScrollViewDelegate{
private let ScrollView = TouchScrollView()
private var ImageView: [UIImageView] = []
private var image: [UIImage] = [
UIImage(named: "sample.jpeg")!, UIImage(named: "sample.jpeg")!,
UIImage(named: "sample.jpeg")!, UIImage(named: "sample.jpeg")!,
UIImage(named: "sample.jpeg")!, UIImage(named: "sample.jpeg")!,
UIImage(named: "sample.jpeg")!, UIImage(named: "sample.jpeg")!,
UIImage(named: "sample.jpeg")!, UIImage(named: "sample.jpeg")!,
]
override func viewDidLoad() {
super.viewDidLoad()
ScrollView.Delegate = self
ScrollView.frame = CGRectMake(0,0,self.view.bounds.width,self.view.bounds.height)
ScrollView.contentSize = CGSizeMake(self.view.bounds.width / 2, self.view.bounds.height + (CGFloat)(150 * 10))
ScrollView.layer.position = CGPoint(x: self.view.bounds.width / 2,y: 300)
ScrollView.pagingEnabled = false
ScrollView.userInteractionEnabled = true
self.view.addSubview(ScrollView)
setImage()
}
func setImage(){
for(var i = 0;i<10;i++){
ImageView.insert(UIImageView(), atIndex: i)
ImageView[i] = UIImageView(frame: CGRectMake(0,0,300,200))
ImageView[i].image = image[i]
ImageView[i].layer.position = CGPoint(x: self.view.bounds.width / 2,y: 200 + (CGFloat)(200 * i))
ImageView[i].userInteractionEnabled = true
ImageView[i].tag = i + 1
ScrollView.addSubview(ImageView[i])
}
}
func modalChanged(TouchNumber: Int) {
println("\(TouchNumber)");
}
}
사용한 그림의 이름은 Sample입니다.jpeg이니까 각자 좋아하는 그림으로 해보세요.이후modalChanged 방법에서만 헤더의 그림에 따라 쓰기 처리를 합니다.
이번에는 print 출력에 헤더 사진의 배열 (UIImageView) 이 저장된 번호를 출력합니다.
다음과 같은 상황으로 나뉘어 헤더의 이미지를 판별하고 해당 이미지에 적합한 처리를 할 수 있다.
예를 들어 애니메이션의 이미지에서 화면은 애니메이션에 대한 상세한 정보가 있는 보기로 이동한다.
modalChanged
func modalChanged(TouchNumber: Int) {
switch TouchNumber{
case 0:
println("0");
case 1:
println("1");
case 2:
println("2");
default:
println("hoge");
}
}
Reference
이 문제에 관하여(UIScrollView에 헤더 이미지를 판별하는 여러 이미지를 표시합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/giiiita/items/ca288c546dc27e21627b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)