mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
per design: MessageStatus 1pt below baseline
This commit is contained in:
parent
a87be31c6d
commit
7b85410136
|
@ -415,6 +415,7 @@
|
||||||
45FBC5C81DF8575700E9B410 /* CallKitCallManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC59A1DF8575700E9B410 /* CallKitCallManager.swift */; };
|
45FBC5C81DF8575700E9B410 /* CallKitCallManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC59A1DF8575700E9B410 /* CallKitCallManager.swift */; };
|
||||||
45FBC5D11DF8592E00E9B410 /* SignalCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */; };
|
45FBC5D11DF8592E00E9B410 /* SignalCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */; };
|
||||||
4AC4EA13C8A444455DAB351F /* Pods_SignalMessaging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 264242150E87D10A357DB07B /* Pods_SignalMessaging.framework */; };
|
4AC4EA13C8A444455DAB351F /* Pods_SignalMessaging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 264242150E87D10A357DB07B /* Pods_SignalMessaging.framework */; };
|
||||||
|
4C11AA5020FD59C700351FBD /* MessageStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C11AA4F20FD59C700351FBD /* MessageStatusView.swift */; };
|
||||||
4C13C9F620E57BA30089A98B /* ColorPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C13C9F520E57BA30089A98B /* ColorPickerViewController.swift */; };
|
4C13C9F620E57BA30089A98B /* ColorPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C13C9F520E57BA30089A98B /* ColorPickerViewController.swift */; };
|
||||||
4C20B2B720CA0034001BAC90 /* ThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4542DF51208B82E9007B4E76 /* ThreadViewModel.swift */; };
|
4C20B2B720CA0034001BAC90 /* ThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4542DF51208B82E9007B4E76 /* ThreadViewModel.swift */; };
|
||||||
4C20B2B920CA10DE001BAC90 /* ConversationSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */; };
|
4C20B2B920CA10DE001BAC90 /* ConversationSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */; };
|
||||||
|
@ -1081,6 +1082,7 @@
|
||||||
45FBC59A1DF8575700E9B410 /* CallKitCallManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallKitCallManager.swift; sourceTree = "<group>"; };
|
45FBC59A1DF8575700E9B410 /* CallKitCallManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CallKitCallManager.swift; sourceTree = "<group>"; };
|
||||||
45FBC5D01DF8592E00E9B410 /* SignalCall.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignalCall.swift; sourceTree = "<group>"; };
|
45FBC5D01DF8592E00E9B410 /* SignalCall.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignalCall.swift; sourceTree = "<group>"; };
|
||||||
45FDA43420A4D22700396358 /* OWSNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OWSNavigationBar.swift; sourceTree = "<group>"; };
|
45FDA43420A4D22700396358 /* OWSNavigationBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OWSNavigationBar.swift; sourceTree = "<group>"; };
|
||||||
|
4C11AA4F20FD59C700351FBD /* MessageStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageStatusView.swift; sourceTree = "<group>"; };
|
||||||
4C13C9F520E57BA30089A98B /* ColorPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPickerViewController.swift; sourceTree = "<group>"; };
|
4C13C9F520E57BA30089A98B /* ColorPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPickerViewController.swift; sourceTree = "<group>"; };
|
||||||
4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationSearchViewController.swift; sourceTree = "<group>"; };
|
4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationSearchViewController.swift; sourceTree = "<group>"; };
|
||||||
4C4AEC4420EC343B0020E72B /* DismissableTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DismissableTextField.swift; sourceTree = "<group>"; };
|
4C4AEC4420EC343B0020E72B /* DismissableTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DismissableTextField.swift; sourceTree = "<group>"; };
|
||||||
|
@ -1431,6 +1433,7 @@
|
||||||
34386A4F207D0C01009F5D9C /* HomeViewController.h */,
|
34386A4F207D0C01009F5D9C /* HomeViewController.h */,
|
||||||
34386A4D207D0C01009F5D9C /* HomeViewController.m */,
|
34386A4D207D0C01009F5D9C /* HomeViewController.m */,
|
||||||
4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */,
|
4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */,
|
||||||
|
4C11AA4F20FD59C700351FBD /* MessageStatusView.swift */,
|
||||||
);
|
);
|
||||||
path = HomeView;
|
path = HomeView;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -3365,6 +3368,7 @@
|
||||||
34D2CCDF206939B400CB1A14 /* DebugUIMessagesAction.m in Sources */,
|
34D2CCDF206939B400CB1A14 /* DebugUIMessagesAction.m in Sources */,
|
||||||
340FC8AC204DAC8D007AEB0F /* PrivacySettingsTableViewController.m in Sources */,
|
340FC8AC204DAC8D007AEB0F /* PrivacySettingsTableViewController.m in Sources */,
|
||||||
340FC8C5204DE223007AEB0F /* DebugUIBackup.m in Sources */,
|
340FC8C5204DE223007AEB0F /* DebugUIBackup.m in Sources */,
|
||||||
|
4C11AA5020FD59C700351FBD /* MessageStatusView.swift in Sources */,
|
||||||
340FC8AE204DAC8D007AEB0F /* OWSSoundSettingsViewController.m in Sources */,
|
340FC8AE204DAC8D007AEB0F /* OWSSoundSettingsViewController.m in Sources */,
|
||||||
4579431E1E7C8CE9008ED0C0 /* Pastelog.m in Sources */,
|
4579431E1E7C8CE9008ED0C0 /* Pastelog.m in Sources */,
|
||||||
340FC8B0204DAC8D007AEB0F /* AddToBlockListViewController.m in Sources */,
|
340FC8B0204DAC8D007AEB0F /* AddToBlockListViewController.m in Sources */,
|
||||||
|
|
|
@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
@property (nonatomic) UILabel *nameLabel;
|
@property (nonatomic) UILabel *nameLabel;
|
||||||
@property (nonatomic) UILabel *snippetLabel;
|
@property (nonatomic) UILabel *snippetLabel;
|
||||||
@property (nonatomic) UILabel *dateTimeLabel;
|
@property (nonatomic) UILabel *dateTimeLabel;
|
||||||
@property (nonatomic) UIImageView *messageStatusView;
|
@property (nonatomic) MessageStatusView *messageStatusView;
|
||||||
|
|
||||||
@property (nonatomic) UIView *unreadBadge;
|
@property (nonatomic) UIView *unreadBadge;
|
||||||
@property (nonatomic) UILabel *unreadLabel;
|
@property (nonatomic) UILabel *unreadLabel;
|
||||||
|
@ -93,7 +93,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
[self.dateTimeLabel setContentHuggingHorizontalHigh];
|
[self.dateTimeLabel setContentHuggingHorizontalHigh];
|
||||||
[self.dateTimeLabel setCompressionResistanceHorizontalHigh];
|
[self.dateTimeLabel setCompressionResistanceHorizontalHigh];
|
||||||
|
|
||||||
self.messageStatusView = [UIImageView new];
|
self.messageStatusView = [MessageStatusView new];
|
||||||
[self.messageStatusView setContentHuggingHorizontalHigh];
|
[self.messageStatusView setContentHuggingHorizontalHigh];
|
||||||
[self.messageStatusView setCompressionResistanceHorizontalHigh];
|
[self.messageStatusView setCompressionResistanceHorizontalHigh];
|
||||||
|
|
||||||
|
|
52
Signal/src/ViewControllers/HomeView/MessageStatusView.swift
Normal file
52
Signal/src/ViewControllers/HomeView/MessageStatusView.swift
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
//
|
||||||
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
@objc
|
||||||
|
public class MessageStatusView: UIView {
|
||||||
|
|
||||||
|
private let imageView: UIImageView
|
||||||
|
private let lastBaselineView: UIView
|
||||||
|
|
||||||
|
// MessageStatusView is aligned 1pt below it's baseline.
|
||||||
|
private let kBaselineOverhang: CGFloat = 1
|
||||||
|
|
||||||
|
@objc
|
||||||
|
public var image: UIImage? {
|
||||||
|
get {
|
||||||
|
return imageView.image
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
imageView.image = newValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override init(frame: CGRect) {
|
||||||
|
self.imageView = UIImageView()
|
||||||
|
self.lastBaselineView = UIView()
|
||||||
|
|
||||||
|
super.init(frame: frame)
|
||||||
|
|
||||||
|
self.addSubview(imageView)
|
||||||
|
self.addSubview(lastBaselineView)
|
||||||
|
|
||||||
|
imageView.setCompressionResistanceHigh()
|
||||||
|
imageView.setContentHuggingHigh()
|
||||||
|
imageView.autoPinEdgesToSuperviewEdges()
|
||||||
|
|
||||||
|
lastBaselineView.autoSetDimension(.height, toSize: 1)
|
||||||
|
lastBaselineView.autoPinEdge(toSuperviewEdge: .left)
|
||||||
|
lastBaselineView.autoPinEdge(toSuperviewEdge: .right)
|
||||||
|
lastBaselineView.autoPinEdge(toSuperviewEdge: .bottom, withInset: kBaselineOverhang)
|
||||||
|
}
|
||||||
|
|
||||||
|
public override var forLastBaselineLayout: UIView {
|
||||||
|
return self.lastBaselineView
|
||||||
|
}
|
||||||
|
|
||||||
|
required public init?(coder aDecoder: NSCoder) {
|
||||||
|
fatalError("init(coder:) has not been implemented")
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue