First View of ChatConversationSwift

This commit is contained in:
Benoit Martins 2022-12-08 12:08:20 +01:00 committed by QuentinArguillere
parent 7af4ac2633
commit cd5e186e26
3 changed files with 75 additions and 2 deletions

View file

@ -0,0 +1,64 @@
//
// MessageView.swift
// linphone
//
// Created by Benoît Martins on 07/12/2022.
//
import Foundation
class MessageView: UIView {
let top_bar_height = 66.0
let side_buttons_margin = 10
var backAction : (() -> Void)? = nil
var action1 : (() -> Void)? = nil
var action2 : (() -> Void)? = nil
let pictureButton = CallControlButton(buttonTheme:VoipTheme.nav_button(""))
let voiceRecordButton = CallControlButton(buttonTheme:VoipTheme.nav_button("vr_off"))
let sendButton = CallControlButton(buttonTheme:VoipTheme.nav_button(""))
let messageTextView = UIView()
let messageText = UITextView()
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}
private func setupView() {
backgroundColor = VoipTheme.voipToolbarBackgroundColor.get()
addSubview(pictureButton)
pictureButton.alignParentLeft(withMargin: side_buttons_margin).matchParentHeight().done()
pictureButton.setImage(UIImage(named:"chat_attachment_default.png"), for: UIControl.State.normal)
pictureButton.setImage(UIImage(named:"chat_attachment_over.png"), for: UIControl.State.highlighted)
pictureButton.onClickAction = backAction
addSubview(voiceRecordButton)
voiceRecordButton.toRightOf(pictureButton, withLeftMargin: 10).matchParentHeight().done()
voiceRecordButton.size(w: 30, h: 30).done()
voiceRecordButton.onClickAction = action2
addSubview(sendButton)
sendButton.alignParentRight(withMargin: side_buttons_margin).matchParentHeight().done()
sendButton.setImage(UIImage(named:"chat_send_default.png"), for: UIControl.State.normal)
sendButton.setImage(UIImage(named:"chat_send_over.png"), for: UIControl.State.highlighted)
sendButton.onClickAction = action1
addSubview(messageTextView)
messageTextView.toRightOf(voiceRecordButton, withLeftMargin: 5).toLeftOf(sendButton).matchParentHeight().done()
messageTextView.addSubview(messageText)
messageText.matchParentDimmensions(insetedByDx: 10).done()
messageText.font = UIFont.systemFont(ofSize: 18)
messageText.backgroundColor = UIColor.white
}
}

View file

@ -28,7 +28,6 @@ import linphonesw
// layout constants
let top_bar_height = 66.0
let navigation_buttons_padding = 18.0
let content_margin_top = 20
let side_buttons_margin = 5
// User by subviews
@ -42,6 +41,7 @@ import linphonesw
let topBar = UIView()
let scrollView = UIScrollView()
let contentView = UIView()
let messageView = MessageView()
var backAction : (() -> Void)? = nil
var action1 : (() -> Void)? = nil
var action2 : (() -> Void)? = nil
@ -71,6 +71,7 @@ import linphonesw
topBar.addSubview(action1Button)
action1Button.toLeftOf(action2Button, withRightMargin: 20).matchParentHeight().done()
action1Button.size(w: 35, h: 35)
action1Button.onClickAction = action1
topBar.addSubview(titleLabel)
@ -81,9 +82,12 @@ import linphonesw
super.viewDidLoad()
view.addSubview(scrollView)
scrollView.alignUnder(view: topBar, withMargin: content_margin_top).alignParentBottom().matchParentSideBorders().done()
scrollView.alignUnder(view: topBar).alignParentBottom().matchParentSideBorders().done()
scrollView.addSubview(contentView)
contentView.matchBordersOf(view: view).alignParentBottom().alignParentTop().done() // don't forget a bottom constraint b/w last element of contentview and contentview
view.addSubview(messageView)
messageView.alignParentBottom().height(top_bar_height).matchParentSideBorders().done()
}

View file

@ -943,6 +943,7 @@
D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83F8D15822ABD00336684 /* PhoneMainView.m */; };
D7DA18712A02598700FABA0D /* TextViewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DA18702A02598700FABA0D /* TextViewer.swift */; };
D7421D9E29228A5200290CAB /* DetailChatRoomFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7421D9D29228A5200290CAB /* DetailChatRoomFragment.swift */; };
D7013DB82940AA12004EEAAE /* MessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7013DB72940AA12004EEAAE /* MessageView.swift */; };
D7421D9E29228A5200290CAB /* ChatConversationViewSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */; };
D74A44912923BAF90017D063 /* BackActionsNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74A44902923BAF90017D063 /* BackActionsNavigationView.swift */; };
D77057F1292E4A340031A970 /* ChatConversationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D77057F0292E4A340031A970 /* ChatConversationViewModel.swift */; };
@ -2176,6 +2177,8 @@
D3F83F8D15822ABD00336684 /* PhoneMainView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneMainView.m; sourceTree = "<group>"; };
D7DA18702A02598700FABA0D /* TextViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewer.swift; sourceTree = "<group>"; };
D7421D9D29228A5200290CAB /* DetailChatRoomFragment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailChatRoomFragment.swift; sourceTree = "<group>"; };
D7421D9D29228A5200290CAB /* DetailChatRoomFragment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailChatRoomFragment.swift; sourceTree = "<group>"; };
D7013DB72940AA12004EEAAE /* MessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageView.swift; sourceTree = "<group>"; };
D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationViewSwift.swift; sourceTree = "<group>"; };
D74A44902923BAF90017D063 /* BackActionsNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackActionsNavigationView.swift; sourceTree = "<group>"; };
D77057F0292E4A340031A970 /* ChatConversationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatConversationViewModel.swift; sourceTree = "<group>"; };
@ -3832,6 +3835,7 @@
isa = PBXGroup;
children = (
D7421D9D29228A5200290CAB /* ChatConversationViewSwift.swift */,
D7013DB72940AA12004EEAAE /* MessageView.swift */,
);
path = Views;
sourceTree = "<group>";
@ -4978,6 +4982,7 @@
8CD99A3C2090B9FA008A7CDA /* ChatConversationImdnView.m in Sources */,
1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */,
C63F7264285A24B10066163B /* BouncingCounter.swift in Sources */,
D7013DB82940AA12004EEAAE /* MessageView.swift in Sources */,
C6B4444826AADA530076C517 /* SwiftUtil.swift in Sources */,
C63F7257285A24B10066163B /* ConferenceLayoutPickerView.swift in Sources */,
CF15F21E20E4F9A3008B1DE6 /* UIImageViewDeletable.m in Sources */,