0
こんにちは私はサブクラス化することによってカスタムローディングバービューを作成しようとしていますUIView
。固定フレームのあるUIView
を作成し、その中に別のUIView
を作成します。内部UIView
を初期化すると、この方法で渡されたフレームoverride init(frame: CGRect)
は、2つのビューの起点が異なります。私は、2つのビューを互いに重ね合わせて最初から始めることを望みます。 UploadBar
どのようにサブクラス化UIViewと同じフレームで別のUIViewを追加します。
let uploadBar = UploadBar(frame: CGRect(x: 40, y: 40, width: 400, height: 40))
view.addSubview(uploadBar)
サブクラスUploadBar
import UIKit
class UploadBar: UIView {
var innerBar: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor.white
innerBar = UIView(frame: frame)
innerBar.backgroundColor = UI.customBlue()
addSubview(innerBar)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setLoadingPercentage(percent: Double) {
// change innerBar's frame and redraw
}
}
を作成
:私もここでは、このuploadBar.setLoadingPercentage(percent: 53.5)
を呼び出すことによってinnerBar
を更新できるようにしたいことは、コードです