• 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.
This is the color of UI layer that dims content underneath when presenting something modally (eg action sheet).
Values were taken from UIDimmingView that UIKit uses to obscure content under modally presented view controller.
All views underwent similar changes:
• use dynamic colors instead of Theme. colors; as a result themeDidChange() is not longer needed.
• use system-provided layout margins for things like titles, subtitles and buttons.
• use standard "large primary", "large secondary" etc button styles instead of OWSButton and OWSFlatButton.
• use capsule shape for donation amount fields on iOS 26.
• make currency selection dropdown button a bit larger so that it looks better.
• other various layout code improvements.
1. Instead of overriding updateTableContents(shouldReload:) in every subclass let the base class to do the reloading and subclasses will just provide contents for the OWSTableViewController2.
2. Remove unnecessary rebuilding of the OWSTableViewContents in didLayoutSubviews(). Do not reload if content doesn't change (it does not in any of the subclasses).
3. Instead of keeping a pre-configured UIStackView in case there's footer content to show - keep a UIView which is more lightweight. Subclasses just add their own footer content to that.
method to put provided views into a vertical stack view.
• method to put provided buttons into a vertical stack view.
All these would allow me to update reg flow screens to look the same without specifying layout metrics multiple times.
Results in buttons having liquid glass effect on iOS 26 and no change on other iOS versions as those buttons were built the same way and up to the same spec.
• 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.