[英]Custom Callout - ViewDidLoad - Swift
我有一個自定義類,用於Swift應用程序中的地圖圖釘標注,該類連接到.xib文件。 當用戶單擊視圖加載的引腳時,我試圖更改為視圖內部標簽的文本。 這是我所擁有的:
import Foundation
import MapKit
class CustomCallout: UIView {
@IBOutlet weak var testLabel: UILabel!
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
testLabel.text = "test"
}
override func hitTest( point: CGPoint, withEvent event: UIEvent?) -> UIView? {
let viewPoint = superview?.convertPoint(point, toView: self) ?? point
//let isInsideView = pointInside(viewPoint, withEvent: event)
let view = super.hitTest(viewPoint, withEvent: event)
return view
}
override func pointInside(point: CGPoint, withEvent event: UIEvent?) -> Bool {
return CGRectContainsPoint(bounds, point)
}
}
我不斷收到錯誤:
fatal error: unexpectedly found nil while unwrapping an Optional value
突出顯示此行:
testLabel.text = "test"
我該如何工作? 加載此標注視圖后,如何更改插座的文本?
您可以引用它: CustomView您可以使用以下列表步驟創建customview:
File's Owner
設置為此類。 contentView
,也拖動要分類的所有元素。 在課堂上添加以下代碼:
required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.commonInit() } private func commonInit() { NSBundle.mainBundle().loadNibNamed("CutomViewDemo", owner: self, options: nil) guard let content = contentView else { return } content.frame = self.bounds content.autoresizingMask = [.FlexibleHeight, .FlexibleWidth] self.addSubview(content) }
現在,您可以使用customView。 您可以查看我的演示: 演示
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.