🍎 iOS/iOS

[iOS] μ• ν”Œμ§€λ„μ— μ›ν•˜λŠ” μœ„μΉ˜μ— 글씨와 이미지 λ„£κΈ°

Fomagran πŸ’» 2021. 3. 16. 19:01
728x90
λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš” Foma μž…λ‹ˆλ‹€!

 

μ €λ²ˆ μ‹œκ°„μ—λŠ” μ• ν”Œμ§€λ„μ— μ›ν•˜λŠ” μœ„μΉ˜ ν‘œμ‹œν•˜λŠ” 법에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μ•˜λŠ”λ°μš”.

 

(ν˜Ήμ‹œ μ•ˆλ³΄μ‹  뢄듀은 μ—¬κΈ° λ₯Ό ν†΅ν•΄μ„œ 보고 μ™€μ£Όμ„Έμš”!)

 

μ—¬κΈ°μ„œ 더 μ—…κ·Έλ ˆμ΄λ“œ ν•΄μ„œ μ›ν•˜λŠ” μœ„μΉ˜μ— μ €λ ‡κ²Œ μ •ν•΄μ§„ 마크 ν‘œμ‹œλ§κ³  λ‚΄κ°€ μ›ν•˜λŠ” μ΄λ―Έμ§€λ‚˜ λ ˆμ΄λΈ”μ„

 

넣을 수 μ—†μ„κΉŒ? ν•˜λ‹€κ°€ μ°Ύμ•„λ‚΄μ„œ μ •λ¦¬ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

λ°”λ‘œ μ‹œμž‘ν• κ²Œμš”~

 

 


MKMapViewDelegate

 

λ¨Όμ € μ§€λ‚œ μ‹œκ°„μ— 마크λ₯Ό ν‘œμ‹œν–ˆλ˜ ViewController에 MKMapViewDelegateλ₯Ό μ±„νƒν•΄μ£Όμ„Έμš”!

class ViewController: UIViewController ,MKMapViewDelegate{
  override func viewDidLoad() {
        super.viewDidLoad()
        
        mapView.delegate = self
        
        }
        
        

 

그리곀 μ•„λž˜μ™€ 같이 annotation을 MKAnnotationView둜 λ°˜ν™˜ν•΄μ£ΌλŠ” λ©”μ†Œλ“œλ₯Ό λ§Œλ“€μ–΄μ£Όμ„Έμš”!

 

  func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

 

그리고 μœ„ ν•¨μˆ˜μ— annotationViewλ₯Ό  λ§Œλ“€μ–΄μ£Όμ‹œκ³ 

 

μ›ν•˜λŠ” 이미지λ₯Ό  넣을 이미지뷰와 λ ˆμ΄λΈ”μ„ 각각 λ§Œλ“€μ–΄μ€λ‹ˆλ‹€.

 

μ—¬κΈ°μ„œ λ ˆμ΄λΈ”μ˜ y값을 보면 -35라고 λ˜μ–΄μžˆλŠ”λ°μš”.

 

μ›ν•˜λŠ” μœ„μΉ˜μ—μ„œ 쑰금 μœ„μ— λ ˆμ΄λΈ”μ„ λ„μš°κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

 

        var annotationView: MKAnnotationView?
        
        //μ›ν•˜λŠ” μœ„μΉ˜μ— 넣을 이미지뷰
	let annotationimageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 25, height: 25))
        let image = μ›ν•˜λŠ” 이미지
        annotationimageView.image = image
        
        //μ›ν•˜λŠ” μœ„μΉ˜μ— 넣을 λ ˆμ΄λΈ”
        let annotationLabel = UILabel(frame: CGRect(x: 0, y: -35, width: 45, height: 15))
        annotationLabel.backgroundColor = .systemOrange
        annotationLabel.textColor = .white
        annotationLabel.numberOfLines = 3
        annotationLabel.textAlignment = .center
        annotationLabel.font = UIFont.boldSystemFont(ofSize: 10)
        annotationLabel.text = annotation.title!

 

μœ„μ—μ„œ λ§Œλ“  이미지뷰와 λ ˆμ΄λΈ”μ„ annotationView에 μ„œλΈŒλ·°λ‘œ μΆ”κ°€ν•΄μ€λ‹ˆλ‹€.

 

그리고 λ§ˆμ§€λ§‰μœΌλ‘œ annotationViewλ₯Ό λ°˜ν™˜ν•΄μ£Όμ„Έμš”.

    	annotationView?.addSubview(annotationimageView)
        annotationView?.addSubview(annotationLabel)
        
        return annotationView
    }

 

μ΄λ ‡κ²Œ ν•˜λ©΄ μ•„λž˜μ™€ 같이 μ›ν•˜λŠ” 이미지와 κ·Έ μœ„μ— μ›ν•˜λŠ” λ ˆμ΄λΈ”μ΄ λ– μžˆλŠ” λͺ¨μŠ΅μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€!

 

 

μ˜€λŠ˜μ€ μ΄λ ‡κ²Œ 이미지와 λ ˆμ΄λΈ”μ„ μ›ν•˜λŠ” μœ„μΉ˜μ— λ„μ›Œλ³΄λŠ” 것을 μ•Œμ•„λ³΄μ•˜λŠ”λ°μš”.

 

ν˜Ήμ‹œλΌλ„ κΆκΈˆν•œ 점이 μžˆκ±°λ‚˜ ν‹€λ¦° 뢀뢄이 μžˆλ‹€λ©΄ λŒ“κΈ€λ‘œ μ•Œλ €μ£Όμ„Έμš”~!

728x90
λ°˜μ‘ν˜•