Files
midi_ios/TUIKit/TUICallKit/TUICallKit-Swift/View/Component/Function/AudioAndVideoCalleeWaitingView.swift
2025-08-14 10:07:49 +08:00

79 lines
2.7 KiB
Swift

//
// AudioAndVideoCalleeWaitingView.swift
// TUICallKit
//
// Created by vincepzhang on 2023/2/14.
//
import Foundation
import TUICallEngine
class AudioAndVideoCalleeWaitingView: UIView {
lazy var acceptBtn: BaseControlButton = {
weak var weakSelf = self
let acceptBtn = BaseControlButton.create(frame: CGRect.zero,
title: TUICallKitLocalize(key: "TUICallKit.answer") ?? "",
imageSize: kBtnSmallSize) { sender in
weakSelf?.acceptTouchEvent(sender: sender)
}
if let image = TUICallKitCommon.getBundleImage(name: "icon_dialing") {
acceptBtn.updateImage(image: image)
}
acceptBtn.updateTitleColor(titleColor: UIColor.t_colorWithHexString(color: "#D5E0F2"))
return acceptBtn
}()
lazy var rejectBtn: BaseControlButton = {
weak var weakSelf = self
let rejectBtn = BaseControlButton.create(frame: CGRect.zero,
title: TUICallKitLocalize(key: "TUICallKit.decline") ?? "",
imageSize: kBtnSmallSize) { sender in
weakSelf?.rejectTouchEvent(sender: sender)
}
if let image = TUICallKitCommon.getBundleImage(name: "icon_hangup") {
rejectBtn.updateImage(image: image)
}
rejectBtn.updateTitleColor(titleColor: UIColor.t_colorWithHexString(color: "#D5E0F2"))
return rejectBtn
}()
// MARK: UI Specification Processing
private var isViewReady: Bool = false
override func didMoveToWindow() {
super.didMoveToWindow()
if isViewReady { return }
constructViewHierarchy()
activateConstraints()
isViewReady = true
}
func constructViewHierarchy() {
addSubview(rejectBtn)
addSubview(acceptBtn)
}
func activateConstraints() {
rejectBtn.snp.makeConstraints { make in
make.centerX.equalTo(self).offset(TUICoreDefineConvert.getIsRTL() ? 80.scaleWidth() : -80.scaleWidth())
make.top.bottom.equalTo(self)
make.size.equalTo(kControlBtnSize)
}
acceptBtn.snp.makeConstraints { make in
make.centerX.equalTo(self).offset(TUICoreDefineConvert.getIsRTL() ? -80.scaleWidth() : 80.scaleWidth())
make.top.bottom.equalTo(self)
make.size.equalTo(kControlBtnSize)
}
}
// MARK: Event Action
func rejectTouchEvent(sender: UIButton) {
CallEngineManager.instance.reject()
}
func acceptTouchEvent(sender: UIButton) {
CallEngineManager.instance.accept()
}
}