Ios 如何创建一个自定义UIView,它只有一个按钮,然后可以在整个应用程序中使用,将其放置在不同的位置?

Ios 如何创建一个自定义UIView,它只有一个按钮,然后可以在整个应用程序中使用,将其放置在不同的位置?,ios,swift,uiview,Ios,Swift,Uiview,我已经创建了一个圆形按钮,它是一个自定义UIView。下面是代码: class HelpTips: UIView { weak var hotSpot: UIButton! override init(frame: CGRect) { super.init(frame: frame) let strongHotSpot = UIButton() hotSpot = strongHotSpot self.addSubview(strongHotSpot)

我已经创建了一个圆形按钮,它是一个自定义UIView。下面是代码:

 class HelpTips: UIView {

weak var hotSpot: UIButton!

override init(frame: CGRect) {
    super.init(frame: frame)

    let strongHotSpot = UIButton()
    hotSpot = strongHotSpot

    self.addSubview(strongHotSpot)
    hotSpotOne.translatesAutoresizingMaskIntoConstraints = false
    hotSpotOne.backgroundColor = UIColor.TRLMHelpTipYellowColor()
    hotSpotOne.layer.borderColor = UIColor.TRLMHelpTipStrokeColor().CGColor
    hotSpotOne.layer.borderWidth = 1

    let horizontalConstraint = NSLayoutConstraint(item: hotSpot, attribute: .Leading, relatedBy: .Equal, toItem: self, attribute: .Leading, multiplier: 1.0, constant: -1)
    let verticalConstraint = NSLayoutConstraint(item: hotSpot, attribute: .Top, relatedBy: .Equal, toItem: self, attribute: .Top, multiplier: 1.0, constant: 16)
    let widthConstraint = NSLayoutConstraint(item: hotSpot, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1.0, constant: 40)
    let heightConstraint = NSLayoutConstraint(item: hotSpot, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1.0, constant: 40)

    self.addConstraints([verticalConstraint, horizontalConstraint, widthConstraint, heightConstraint])

}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}
}

现在,这个按钮在整个应用程序中的多个位置使用,但它被放置在不同的位置。因此,每个视图控制器都将使用该UIView。 因此,从技术上讲,按钮的外观保持不变,但该按钮的约束条件会根据其位置不断变化。我想在这里遵循干燥(不要重复)技术。 我以前做过这种事情,但是代码被重复了好几次,效率不高。怎么办?
感谢您的帮助。谢谢

您可以创建自定义导航控制器,并将视图作为属性存储在其中。每个视图控制器都可以访问导航控制器,因此它们只能引用该属性和使用视图所需的时间。应该保持干燥。

您可以创建自定义导航控制器,并将视图作为属性存储在其中。每个视图控制器都可以访问导航控制器,因此它们只能引用该属性和使用视图所需的时间。应保持干燥。

使用xib创建自定义视图。将UIButton添加为子视图


本教程将非常有用。

使用xib创建自定义视图。将UIButton添加为子视图

教程将是有益的