[英]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.