An advanced Ethereum/EVM mobile wallet
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
alpha-wallet-ios/Trust/UI/BalanceTitleView.swift

57 lines
1.8 KiB

// Copyright SIX DAY LLC. All rights reserved.
7 years ago
import UIKit
class BalanceTitleView: UIView {
let titleLabel = UILabel()
let subTitleLabel = UILabel()
7 years ago
override init(frame: CGRect) {
super.init(frame: .zero)
titleLabel.translatesAutoresizingMaskIntoConstraints = false
titleLabel.textAlignment = .center
subTitleLabel.translatesAutoresizingMaskIntoConstraints = false
subTitleLabel.textAlignment = .center
let stackView = UIStackView(arrangedSubviews: [
titleLabel,
subTitleLabel,
])
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.axis = .vertical
stackView.spacing = 2
addSubview(stackView)
7 years ago
NSLayoutConstraint.activate([
stackView.trailingAnchor.constraint(equalTo: trailingAnchor),
stackView.leadingAnchor.constraint(equalTo: leadingAnchor),
stackView.topAnchor.constraint(equalTo: topAnchor),
stackView.bottomAnchor.constraint(equalTo: bottomAnchor),
7 years ago
])
}
func configure(viewModel: BalanceViewModel) {
titleLabel.attributedText = viewModel.attributedCurrencyAmount
subTitleLabel.attributedText = viewModel.attributedAmount
}
7 years ago
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension BalanceTitleView {
static func make(from session: WalletSession) -> BalanceTitleView {
let view = BalanceTitleView(frame: .zero)
view.translatesAutoresizingMaskIntoConstraints = false
session.balanceViewModel.subscribe { viewModel in
guard let viewModel = viewModel else { return }
view.configure(viewModel: viewModel)
}
return view
}
}