• define new shared color - "link" for both UIColor and Color.
• set default color (UIColor.Signal.link) for links in LinkingTextView.
• do not set "UIColor.clear" as underline color for links. just omitting underline style does the job.
• bring back keyboard frame tracking to OWSViewController if running on iOS 15.
• add our own layout guide to OWSViewController that is updated based on keyboard frame notifications on iOS 15; on newer iOS versions it's a proxy to view.keyboardLayoutGuide.
• use OWSViewController.keyboardLayoutGuide where needed.
• in media composer screen (not OWSVIewController subclass) we already track keyboard frame - use that to position bottom toolbar on iOS 15.
I have also discovered that profile avatar editing screen was somewhat broken on older (15, 16) iOS versions. Fixed that here.
revious color was semi-opaque black which meant the resulting color of a selected UITableViewCell's background was not something referenced in the code. Therefore it wasn't easily possible to re-use the color for non-UITableViewCell elements (e.g. creating UIButton whose colors should match UITableView's colors). With the opaque colors final color of the background of a selected cell is known and can be referenced directly.
Also removed Theme.tableCell2MultiSelectedBackgroundColor - use one color for both "single" and "multiple" selection modes.
Fix Calls tab not setting UITableViewCell properly to use custom cell background color in multi-select mode.
Also convert OWSTableContents, OWSTableSection and OWSTableItem to Swift.
The only subclass of OWSTableViewController was DebugUITableViewController which has to be converted to Swift as well.
I also changed OWSTableViewController to be a subclass of OWSViewController (more modern and all in Swift) instead of OWSViewControllerObjc.
* Use iOS 13+ UINavigationBarAppearance for navbar styling
* various individual view controller navbar style tweaks and fixes
* Remove unused navigation bar styles
* rename 'default' style blur
* Apply blur style to the UIVisualEffectView generated by UINavigationBarAppearance
* Use iOS 12 navbar blur method on iOS 13 since its bugged
* Fix on iOS 15, use old method on iOS 14
* PR comment nits
* explicitly invalidate KVO observers
* make shouldCancelNavigationBack a var
* rename OWSNavigationView->OWSNavigationChildController
* forward delegate calls to OWSNavigationController
* apply theme and style to OWSNavigationBar consistently
fix themeing on gif picker controller
* Use topPinned navbar position. Size the blur effect view using the background view
* Use fade animation when hiding the navigation bar
* fix issues with reduced transparency setting
* pr feedback
* Remove the useless shouldUseTheme
* Remove the useless shouldBottomViewReserveSpaceForKeyboard
* Add ViewControllerLifecycle
* Use more sensible constraints for keyboard layouts
* Consistent theme updates. themeDidChange is what you subclass, applyTheme is each class' internal application of theme changes, if needed
* Add app lifecycle hooks
* pr feedback
* pass through touches on the keyboard layout view(s)
* fix lint