Compare commits

...

18 Commits

Author SHA1 Message Date
Boyko Mihail 0d8e80deab Update tag 2020-10-05 13:43:01 +03:00
Boyko Mihail fd1c2cc56b Update version 2020-10-05 12:48:58 +03:00
Boyko Mihail 6e8eda4c42 cherry-pick 22ba1fb8f7 2020-10-05 12:48:22 +03:00
Boyko Mihail 198eaecf96 Update podspec 2020-10-05 11:23:39 +03:00
Boyko Mihail 131ed5b493 Update podspec 2020-10-05 11:14:24 +03:00
Boyko Mihail 1e7e840e23 Update pod spec 2020-10-05 11:02:43 +03:00
Boyko Mihail 1091d27034 Update version to 0.9.30.1 2020-10-05 10:46:54 +03:00
Boyko Mihail 292d5ce16c Update version to 0.9.31 2020-10-05 10:45:49 +03:00
Boyko Mihail 2bd38efab0 cherry-pick 4c81de418f 2020-10-05 10:43:26 +03:00
Boyko Mihail 5297be522f Fix indent 2020-10-05 08:42:22 +03:00
Boyko Mihail 0d51ccb908 Fix PR issue 2020-10-05 08:42:14 +03:00
Boyko Mihail ce26a914a0 cherry-pick 5427b0f1be 2020-10-05 08:42:04 +03:00
Boyko Mihail 6fca1936df fix public extension 2020-10-01 20:43:01 +03:00
Boyko Mihail 28c51ae7f6 Add videoOrientation extension 2 2020-10-01 20:33:49 +03:00
Boyko Mihail dfeb41b919 Add videoOrientation extension 2020-10-01 20:28:46 +03:00
Boyko Mihail ccc085df3c Add BaseOrientationController 2020-10-01 19:46:40 +03:00
Boyko Mihail 0bc80d98b8 Fix PR issue from Ivan Smolin 2020-10-01 18:54:19 +03:00
Boyko Mihail f62ad5be5f cherry-pick 45d88b4cf6 2020-10-01 18:54:05 +03:00
8 changed files with 215 additions and 12 deletions

View File

@ -1,5 +1,14 @@
# Changelog
### 0.9.44
- **Fix**: new tag
### 0.9.30.2
- **Fix**: version for Soglasie. open protection level
### 0.9.30.1
- **Fix**: version for Soglasie
### 0.9.30
- **Add**: character `*` into a valid set of characters in the extension `telpromptURL` of String.

View File

@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "LeadKit"
s.version = "0.9.30"
s.version = "0.9.44"
s.summary = "iOS framework with a bunch of tools for rapid development"
s.homepage = "https://github.com/TouchInstinct/LeadKit"
s.license = "Apache License, Version 2.0"
@ -39,6 +39,7 @@ Pod::Spec.new do |s|
"Sources/Classes/Search/*",
"Sources/Enums/Search/*",
"Sources/Extensions/CABasicAnimation/*",
"Sources/Extensions/UIInterfaceOrientation/UIInterfaceOrientation+ VideoOrientation.swift",
"Sources/Extensions/CGFloat/CGFloat+Pixels.swift",
"Sources/Extensions/NetworkService/NetworkService+RxLoadImage.swift",
"Sources/Extensions/DataLoading/GeneralDataLoading/GeneralDataLoadingController+DefaultImplementation.swift",
@ -70,6 +71,16 @@ Pod::Spec.new do |s|
]
ss.tvos.exclude_files = [
"Sources/Classes/Controllers/BaseTableContentController.swift",
"Sources/Classes/Views/TableViewWrapperView/TableViewWrapperView.swift",
"Sources/Classes/Controllers/BaseCollectionContentController.swift",
"Sources/Classes/Views/CollectionViewWrapperView/CollectionViewWrapperView.swift",
"Sources/Classes/Controllers/BaseCustomViewController.swift",
"Sources/Classes/Controllers/BaseConfigurableController.swift",
"Sources/Classes/Controllers/BaseScrollContentController.swift",
"Sources/Classes/Controllers/BaseOrientationController.swift",
"Sources/Classes/Controllers/BaseOrientationNavigationController.swift",
"Sources/Extensions/UIKit/UIDevice/UIDevice+ScreenOrientation.swift",
"Sources/Extensions/UIInterfaceOrientation/UIInterfaceOrientation+ VideoOrientation.swift",
"Sources/Classes/Views/SeparatorRowBox/*",
"Sources/Classes/Views/SeparatorCell/*",
"Sources/Classes/Views/EmptyCell/*",

View File

@ -16,6 +16,17 @@
40F118471F8FEF97004AADAF /* AppearanceConfigurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40F118461F8FEF97004AADAF /* AppearanceConfigurable.swift */; };
40F118491F8FF223004AADAF /* TableRow+AppearanceExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40F118481F8FF223004AADAF /* TableRow+AppearanceExtension.swift */; };
411073AF23466B41002DD9B9 /* UIViewController+PresentFullScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 411073AE23466B41002DD9B9 /* UIViewController+PresentFullScreen.swift */; };
4CF65D1424DD684A0006B001 /* ButtonHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF65D1324DD684A0006B001 /* ButtonHolder.swift */; };
4CF65D1624DD69250006B001 /* UIButton+ButtonHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF65D1524DD69250006B001 /* UIButton+ButtonHolder.swift */; };
4CF65D1824DD6C080006B001 /* ButtonHolderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF65D1724DD6C080006B001 /* ButtonHolderView.swift */; };
52421F8D24EAB52E00948DD1 /* ContainerTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52421F8C24EAB52E00948DD1 /* ContainerTableCell.swift */; };
52421F8F24EAB84900948DD1 /* BaseRxTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52421F8E24EAB84900948DD1 /* BaseRxTableViewCell.swift */; };
52421F9424EBCFAE00948DD1 /* VoidTappableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52421F9324EBCFAE00948DD1 /* VoidTappableViewModel.swift */; };
52421F9624EBCFBB00948DD1 /* BaseTappableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52421F9524EBCFBB00948DD1 /* BaseTappableViewModel.swift */; };
5E23631F25263EFA00E2F96B /* BaseOrientationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E23631E25263EFA00E2F96B /* BaseOrientationController.swift */; };
5E2364182526489A00E2F96B /* UIInterfaceOrientation+ VideoOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2364172526489A00E2F96B /* UIInterfaceOrientation+ VideoOrientation.swift */; };
5ED2C0B2251A354E00D4E258 /* BaseOrientationNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED2C0B1251A354E00D4E258 /* BaseOrientationNavigationController.swift */; };
5ED2C0B5251A366700D4E258 /* UIDevice+ScreenOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED2C0B4251A366700D4E258 /* UIDevice+ScreenOrientation.swift */; };
67051ADB1EBC7C36008EADC0 /* SpinnerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67051ADA1EBC7C36008EADC0 /* SpinnerView.swift */; };
67051ADD1EBC7C36008EADC0 /* SpinnerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67051ADA1EBC7C36008EADC0 /* SpinnerView.swift */; };
6713C23720AF0C4D00875921 /* NetworkOperationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6713C23620AF0C4D00875921 /* NetworkOperationState.swift */; };
@ -88,7 +99,6 @@
671462C81EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; };
671462CA1EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; };
671462CB1EB3396E00EAB194 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FC1EB3396E00EAB194 /* String+Localization.swift */; };
671462D01EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */; };
671462D41EB3396E00EAB194 /* TableDirector+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462011EB3396E00EAB194 /* TableDirector+Extensions.swift */; };
671462D81EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */; };
671462DA1EB3396E00EAB194 /* TimeInterval+DateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */; };
@ -98,8 +108,6 @@
671462E71EB3396E00EAB194 /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462091EB3396E00EAB194 /* UIColor+Hex.swift */; };
671462EC1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */; };
671462EF1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */; };
671462F01EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */; };
671462F31EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */; };
671462FC1EB3396E00EAB194 /* UIView+XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462131EB3396E00EAB194 /* UIView+XibNameProtocol.swift */; };
671462FF1EB3396E00EAB194 /* UIView+XibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462131EB3396E00EAB194 /* UIView+XibNameProtocol.swift */; };
671463001EB3396E00EAB194 /* UIView+LoadFromNib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */; };
@ -550,6 +558,17 @@
40F118461F8FEF97004AADAF /* AppearanceConfigurable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceConfigurable.swift; sourceTree = "<group>"; };
40F118481F8FF223004AADAF /* TableRow+AppearanceExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TableRow+AppearanceExtension.swift"; sourceTree = "<group>"; };
411073AE23466B41002DD9B9 /* UIViewController+PresentFullScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+PresentFullScreen.swift"; sourceTree = "<group>"; };
4CF65D1324DD684A0006B001 /* ButtonHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonHolder.swift; sourceTree = "<group>"; };
4CF65D1524DD69250006B001 /* UIButton+ButtonHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+ButtonHolder.swift"; sourceTree = "<group>"; };
4CF65D1724DD6C080006B001 /* ButtonHolderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonHolderView.swift; sourceTree = "<group>"; };
52421F8C24EAB52E00948DD1 /* ContainerTableCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContainerTableCell.swift; sourceTree = "<group>"; };
52421F8E24EAB84900948DD1 /* BaseRxTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseRxTableViewCell.swift; sourceTree = "<group>"; };
52421F9324EBCFAE00948DD1 /* VoidTappableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoidTappableViewModel.swift; sourceTree = "<group>"; };
52421F9524EBCFBB00948DD1 /* BaseTappableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseTappableViewModel.swift; sourceTree = "<group>"; };
5E23631E25263EFA00E2F96B /* BaseOrientationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseOrientationController.swift; sourceTree = "<group>"; };
5E2364172526489A00E2F96B /* UIInterfaceOrientation+ VideoOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIInterfaceOrientation+ VideoOrientation.swift"; sourceTree = "<group>"; };
5ED2C0B1251A354E00D4E258 /* BaseOrientationNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseOrientationNavigationController.swift; sourceTree = "<group>"; };
5ED2C0B4251A366700D4E258 /* UIDevice+ScreenOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDevice+ScreenOrientation.swift"; sourceTree = "<group>"; };
67051ADA1EBC7C36008EADC0 /* SpinnerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpinnerView.swift; sourceTree = "<group>"; };
6713C23620AF0C4D00875921 /* NetworkOperationState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkOperationState.swift; sourceTree = "<group>"; };
6713C23B20AF0D5900875921 /* NetworkOperationModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkOperationModel.swift; sourceTree = "<group>"; };
@ -575,12 +594,10 @@
671461F11EB3396E00EAB194 /* Observable+DeferredJust.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+DeferredJust.swift"; sourceTree = "<group>"; };
671461F61EB3396E00EAB194 /* Sequence+ConcurrentMap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Sequence+ConcurrentMap.swift"; sourceTree = "<group>"; };
671461FC1EB3396E00EAB194 /* String+Localization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Localization.swift"; sourceTree = "<group>"; };
671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIScrollView+Support.swift"; sourceTree = "<group>"; };
671462011EB3396E00EAB194 /* TableDirector+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TableDirector+Extensions.swift"; sourceTree = "<group>"; };
671462031EB3396E00EAB194 /* TimeInterval+DateComponents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TimeInterval+DateComponents.swift"; sourceTree = "<group>"; };
671462091EB3396E00EAB194 /* UIColor+Hex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Hex.swift"; sourceTree = "<group>"; };
6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = "<group>"; };
6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+SupportExtensions.swift"; sourceTree = "<group>"; };
671462131EB3396E00EAB194 /* UIView+XibNameProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+XibNameProtocol.swift"; sourceTree = "<group>"; };
671462141EB3396E00EAB194 /* UIView+LoadFromNib.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+LoadFromNib.swift"; sourceTree = "<group>"; };
671462151EB3396E00EAB194 /* UIView+LoadingIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+LoadingIndicator.swift"; sourceTree = "<group>"; };
@ -859,6 +876,64 @@
path = UITableView;
sourceTree = "<group>";
};
4CF65D1924DD6C3D0006B001 /* ButtonHolder */ = {
isa = PBXGroup;
children = (
4CF65D1324DD684A0006B001 /* ButtonHolder.swift */,
4CF65D1724DD6C080006B001 /* ButtonHolderView.swift */,
);
path = ButtonHolder;
sourceTree = "<group>";
};
52421F8B24EAB52E00948DD1 /* ContainerTableCell */ = {
isa = PBXGroup;
children = (
52421F8C24EAB52E00948DD1 /* ContainerTableCell.swift */,
);
path = ContainerTableCell;
sourceTree = "<group>";
};
52421F9024EAB84E00948DD1 /* BaseRxTableViewCell */ = {
isa = PBXGroup;
children = (
52421F8E24EAB84900948DD1 /* BaseRxTableViewCell.swift */,
);
path = BaseRxTableViewCell;
sourceTree = "<group>";
};
52421F9124EBCF6E00948DD1 /* ViewModels */ = {
isa = PBXGroup;
children = (
52421F9224EBCF8600948DD1 /* TappableViewModel */,
);
path = ViewModels;
sourceTree = "<group>";
};
52421F9224EBCF8600948DD1 /* TappableViewModel */ = {
isa = PBXGroup;
children = (
52421F9524EBCFBB00948DD1 /* BaseTappableViewModel.swift */,
52421F9324EBCFAE00948DD1 /* VoidTappableViewModel.swift */,
);
path = TappableViewModel;
sourceTree = "<group>";
};
5E2364162526488300E2F96B /* UIInterfaceOrientation */ = {
isa = PBXGroup;
children = (
5E2364172526489A00E2F96B /* UIInterfaceOrientation+ VideoOrientation.swift */,
);
path = UIInterfaceOrientation;
sourceTree = "<group>";
};
5ED2C0B3251A365800D4E258 /* UIDevice */ = {
isa = PBXGroup;
children = (
5ED2C0B4251A366700D4E258 /* UIDevice+ScreenOrientation.swift */,
);
path = UIDevice;
sourceTree = "<group>";
};
671461C41EB3396E00EAB194 /* Classes */ = {
isa = PBXGroup;
children = (
@ -867,6 +942,7 @@
6774527E2062566D0024EEEF /* DataLoading */,
671461D21EB3396E00EAB194 /* Services */,
671461D41EB3396E00EAB194 /* Views */,
52421F9124EBCF6E00948DD1 /* ViewModels */,
);
path = Classes;
sourceTree = "<group>";
@ -904,6 +980,8 @@
671461D41EB3396E00EAB194 /* Views */ = {
isa = PBXGroup;
children = (
52421F9024EAB84E00948DD1 /* BaseRxTableViewCell */,
52421F8B24EAB52E00948DD1 /* ContainerTableCell */,
72005A1A2266226800ECE090 /* CustomizableButton */,
677B06B6211873E7006C947D /* BasePlaceholderView */,
67DB77672108714A001CB56B /* CollectionViewWrapperView */,
@ -938,6 +1016,7 @@
671461DA1EB3396E00EAB194 /* Extensions */ = {
isa = PBXGroup;
children = (
5E2364162526488300E2F96B /* UIInterfaceOrientation */,
6732F23C214C09DF00B446F2 /* Foundation */,
671461DB1EB3396E00EAB194 /* Alamofire */,
EFBE57CE1EC35ED90040E00A /* Array */,
@ -1051,7 +1130,6 @@
isa = PBXGroup;
children = (
7295474121E6628C009558E7 /* UINavigationItem+Support.swift */,
671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */,
);
path = Support;
sourceTree = "<group>";
@ -1086,7 +1164,6 @@
isa = PBXGroup;
children = (
6714620D1EB3396E00EAB194 /* UIImage+Extensions.swift */,
6714620E1EB3396E00EAB194 /* UIImage+SupportExtensions.swift */,
);
path = UIImage;
sourceTree = "<group>";
@ -1323,6 +1400,7 @@
672947E0206EA36B00AC6B6B /* UIKit */ = {
isa = PBXGroup;
children = (
5ED2C0B3251A365800D4E258 /* UIDevice */,
6741CEB220E242B600FEC4D9 /* CollectionViewHolder */,
6741CEAD20E2428A00FEC4D9 /* TableViewHolder */,
674AF55A1EC45B1600038A8F /* UIActivityIndicatorView */,
@ -1433,6 +1511,7 @@
6741CE9F20E2413300FEC4D9 /* UIKit */ = {
isa = PBXGroup;
children = (
4CF65D1924DD6C3D0006B001 /* ButtonHolder */,
6741CEA020E2416C00FEC4D9 /* ScrollViewHolder.swift */,
6741CEA420E2418200FEC4D9 /* TableViewHolder.swift */,
6741CEA820E2418B00FEC4D9 /* CollectionViewHolder.swift */,
@ -1482,6 +1561,8 @@
6741CECC20E243F800FEC4D9 /* BaseCustomViewController.swift */,
675E0AA821072FF400CDC143 /* BaseScrollContentController.swift */,
67DB776321086A12001CB56B /* BaseTableContentController.swift */,
5ED2C0B1251A354E00D4E258 /* BaseOrientationNavigationController.swift */,
5E23631E25263EFA00E2F96B /* BaseOrientationController.swift */,
);
path = Controllers;
sourceTree = "<group>";
@ -1845,6 +1926,7 @@
isa = PBXGroup;
children = (
67E352512119AC060035BDDB /* UIButton+ViewTextConfigurable.swift */,
4CF65D1524DD69250006B001 /* UIButton+ButtonHolder.swift */,
);
path = UIButton;
sourceTree = "<group>";
@ -2395,8 +2477,10 @@
678D26A420692BFF00B05B93 /* TextFieldViewModelEvents.swift in Sources */,
671462801EB3396E00EAB194 /* DataRequest+Extensions.swift in Sources */,
67EB7FF8206175F700BDD9FB /* PaginationWrappable.swift in Sources */,
52421F9624EBCFBB00948DD1 /* BaseTappableViewModel.swift in Sources */,
67990AD6213EA6A50040D195 /* ContentLoadingViewModel+Extensions.swift in Sources */,
671463541EB3396E00EAB194 /* StaticViewHeightProtocol.swift in Sources */,
4CF65D1824DD6C080006B001 /* ButtonHolderView.swift in Sources */,
72AECC6B224A979D00D12E7C /* BaseSearchViewController.swift in Sources */,
673CF4112063ABD100C329F6 /* GeneralDataLoadingState+Extensions.swift in Sources */,
72005A1E2266226800ECE090 /* CustomizableButton.swift in Sources */,
@ -2407,7 +2491,6 @@
671462841EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */,
EFBE57DB1EC361620040E00A /* UIView+Layout.swift in Sources */,
6714634C1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */,
671462F01EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */,
6741CEAF20E242A500FEC4D9 /* TableViewHolder+ScrollViewHolder.swift in Sources */,
67CAF8C620652E2A00527085 /* TextFieldViewModel.swift in Sources */,
671462681EB3396E00EAB194 /* NetworkService.swift in Sources */,
@ -2424,12 +2507,13 @@
671462FC1EB3396E00EAB194 /* UIView+XibNameProtocol.swift in Sources */,
67EB7FC0206140E600BDD9FB /* TotalCountCursor.swift in Sources */,
36DAAF512007CC920090BE0D /* UITableView+Extensions.swift in Sources */,
4CF65D1624DD69250006B001 /* UIButton+ButtonHolder.swift in Sources */,
671463841EB3396E00EAB194 /* ResizeDrawingOperation.swift in Sources */,
6774528D20625C9E0024EEEF /* GeneralDataLoadingState.swift in Sources */,
72005A1F2266226800ECE090 /* CustomizableButtonViewModel.swift in Sources */,
677B06C4211884F3006C947D /* BaseTextAttributes.swift in Sources */,
5ED2C0B2251A354E00D4E258 /* BaseOrientationNavigationController.swift in Sources */,
675E0AA921072FF400CDC143 /* BaseScrollContentController.swift in Sources */,
671462D01EB3396E00EAB194 /* UIScrollView+Support.swift in Sources */,
671463901EB3396E00EAB194 /* TemplateDrawingOperation.swift in Sources */,
A658E54D1F8CD7790093527A /* TableRow+SeparatorsExtensions.swift in Sources */,
85A5D49522AA975000C7D254 /* Decimal+Rounding.swift in Sources */,
@ -2442,6 +2526,7 @@
82D2966D2264B1790067735C /* LabelTableViewCell.swift in Sources */,
671463301EB3396E00EAB194 /* CursorType.swift in Sources */,
67FDC25F1FA310EA00C76A77 /* RequestError.swift in Sources */,
5E2364182526489A00E2F96B /* UIInterfaceOrientation+ VideoOrientation.swift in Sources */,
677B06A021186A69006C947D /* SharedSequence+Extensions.swift in Sources */,
6760DC4D212F351700020BAE /* UIView+AddSubviews.swift in Sources */,
67745268206249360024EEEF /* UITableView+PaginationWrappable.swift in Sources */,
@ -2470,6 +2555,7 @@
67E902572125B66E008EDF45 /* UIImageView+ExpandCollapseDisclosure.swift in Sources */,
671462781EB3396E00EAB194 /* ResizeMode.swift in Sources */,
67E902512125B064008EDF45 /* BuildInNumberTypes+NSNumberConvertible.swift in Sources */,
5ED2C0B5251A366700D4E258 /* UIDevice+ScreenOrientation.swift in Sources */,
A676AE551F98112E001F9214 /* ObservableMappable.swift in Sources */,
6741CEA520E2418200FEC4D9 /* TableViewHolder.swift in Sources */,
8546C2E3224E86280059C255 /* ApiUploadRequestParameters.swift in Sources */,
@ -2500,6 +2586,7 @@
A6E0DDF11F8A6C80002CA74E /* SeparatorConfiguration.swift in Sources */,
6727477F206CD3BD00725163 /* ViewText+Extensions.swift in Sources */,
67EB7FEB2061667900BDD9FB /* DefaultTotalCountCursorListingResult.swift in Sources */,
4CF65D1424DD684A0006B001 /* ButtonHolder.swift in Sources */,
671AD26C206A3E8500EAF887 /* Array+TotalCountCursorListingResult.swift in Sources */,
673CF4382063E7CE00C329F6 /* GeneralDataLoadingController+DefaultImplementation.swift in Sources */,
B85B768720B1CF6700F837C4 /* Encodable+Extensions.swift in Sources */,
@ -2514,6 +2601,7 @@
671463081EB3396E00EAB194 /* UIView+Rotation.swift in Sources */,
6714626C1EB3396E00EAB194 /* XibView.swift in Sources */,
67274778206CD0B500725163 /* UILabel+ViewTextConfigurable.swift in Sources */,
5E23631F25263EFA00E2F96B /* BaseOrientationController.swift in Sources */,
67ED2BE520B44F4300508B3E /* InitializableView+DefaultImplementation.swift in Sources */,
36FE777020F669E300284C09 /* String+ConvertToHost.swift in Sources */,
6774529220625D170024EEEF /* GeneralDataLoadingModel.swift in Sources */,
@ -2537,8 +2625,10 @@
411073AF23466B41002DD9B9 /* UIViewController+PresentFullScreen.swift in Sources */,
671462941EB3396E00EAB194 /* CGSize+CGContextSize.swift in Sources */,
6741CEA920E2418B00FEC4D9 /* CollectionViewHolder.swift in Sources */,
52421F9424EBCFAE00948DD1 /* VoidTappableViewModel.swift in Sources */,
67745279206252020024EEEF /* DataLoadingState.swift in Sources */,
671463641EB3396E00EAB194 /* ViewHeightProtocol.swift in Sources */,
52421F8F24EAB84900948DD1 /* BaseRxTableViewCell.swift in Sources */,
67EB7FDA20615D5B00BDD9FB /* ResettableRxCursorDataSource.swift in Sources */,
671462481EB3396E00EAB194 /* FixedPageCursor.swift in Sources */,
671462C81EB3396E00EAB194 /* String+Localization.swift in Sources */,
@ -2586,6 +2676,7 @@
678D267920691D8200B05B93 /* DataModelFieldBinding.swift in Sources */,
72AECC71224A97F100D12E7C /* SearchResultsViewController.swift in Sources */,
673CF4342063E29B00C329F6 /* TextWithButtonPlaceholder.swift in Sources */,
52421F8D24EAB52E00948DD1 /* ContainerTableCell.swift in Sources */,
673CF4222063D90600C329F6 /* DisposeBagHolder.swift in Sources */,
67DB776D210871E8001CB56B /* BaseCollectionContentController.swift in Sources */,
82B4F8DB223903B800F6708C /* Block.swift in Sources */,
@ -2746,7 +2837,6 @@
671463631EB3396E00EAB194 /* SupportProtocol.swift in Sources */,
671462871EB3396E00EAB194 /* CGContext+Initializers.swift in Sources */,
6714634F1EB3396E00EAB194 /* ReuseIdentifierProtocol.swift in Sources */,
671462F31EB3396E00EAB194 /* UIImage+SupportExtensions.swift in Sources */,
6714626B1EB3396E00EAB194 /* NetworkService.swift in Sources */,
67E352612119B7570035BDDB /* BasePlaceholerView.swift in Sources */,
673CF43A2063E7CE00C329F6 /* GeneralDataLoadingController+DefaultImplementation.swift in Sources */,

View File

@ -23,7 +23,7 @@
import UIKit.UIViewController
/// Base controller that should be configured with view model.
open class BaseConfigurableController<ViewModel>: UIViewController, ConfigurableController {
open class BaseConfigurableController<ViewModel>: BaseOrientationController, ConfigurableController {
/// A view model instance used by this controller.
public let viewModel: ViewModel

View File

@ -0,0 +1,30 @@
import Foundation
open class BaseOrientationController: UIViewController {
/// Ability to set forced screen orientation
open var forcedInterfaceOrientation: UIInterfaceOrientation?
open override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
switch forcedInterfaceOrientation {
case .landscapeLeft:
return .landscapeLeft
case .landscapeRight:
return .landscapeRight
case .portrait:
return .portrait
case .portraitUpsideDown:
return .portraitUpsideDown
default:
return super.supportedInterfaceOrientations
}
}
open override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
return forcedInterfaceOrientation ?? super.preferredInterfaceOrientationForPresentation
}
}

View File

@ -0,0 +1,25 @@
import UIKit
open class OrientationNavigationController: UINavigationController {
// MARK: - Public properties
open var presentedOrTopViewController: UIViewController? {
presentedViewController ?? topViewController
}
open override var shouldAutorotate: Bool {
presentedOrTopViewController?.shouldAutorotate
?? super.shouldAutorotate
}
open override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
presentedOrTopViewController?.supportedInterfaceOrientations
?? super.supportedInterfaceOrientations
}
open override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
presentedOrTopViewController?.preferredInterfaceOrientationForPresentation
?? super.preferredInterfaceOrientationForPresentation
}
}

View File

@ -0,0 +1,24 @@
import Foundation
import AVFoundation
public extension UIInterfaceOrientation {
var videoOrientation: AVCaptureVideoOrientation {
switch self {
case .portrait, .unknown:
return .portrait
case .landscapeLeft:
return .landscapeLeft
case .landscapeRight:
return .landscapeRight
case .portraitUpsideDown:
return .portraitUpsideDown
@unknown default:
return .portrait
}
}
}

View File

@ -0,0 +1,14 @@
import UIKit
public extension UIDevice {
/// Вручную повернуть экран устройства
///
/// - Parameters:
/// - orientation: ориентация в терминах ScreenOrientation
func rotateOrientationManually(to orientation: UIInterfaceOrientation) {
let orientationValue = Int(orientation.rawValue)
UIDevice.current.setValue(orientationValue, forKey: "orientation")
UIViewController.attemptRotationToDeviceOrientation()
}
}