Merge branch 'develop' into feature/notificationView
This commit is contained in:
commit
347528a280
@ -1237,7 +1237,7 @@
|
|||||||
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||||
CODE_SIGN_IDENTITY = "";
|
CODE_SIGN_IDENTITY = "";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 52;
|
CURRENT_PROJECT_VERSION = 53;
|
||||||
DEFINES_MODULE = YES;
|
DEFINES_MODULE = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
@ -1274,7 +1274,7 @@
|
|||||||
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||||
CODE_SIGN_IDENTITY = "";
|
CODE_SIGN_IDENTITY = "";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 52;
|
CURRENT_PROJECT_VERSION = 53;
|
||||||
DEFINES_MODULE = YES;
|
DEFINES_MODULE = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
|
|||||||
@ -207,8 +207,8 @@ extension ButtonGroup: UICollectionViewDataSource, UICollectionViewDelegate {
|
|||||||
public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
|
public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
|
||||||
let button = buttons[indexPath.row]
|
let button = buttons[indexPath.row]
|
||||||
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath) as? ButtonGroupCollectionViewCell else { return UICollectionViewCell() }
|
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath) as? ButtonGroupCollectionViewCell else { return UICollectionViewCell() }
|
||||||
cell.subviews.forEach { $0.removeFromSuperview() }
|
cell.contentView.subviews.forEach { $0.removeFromSuperview() }
|
||||||
cell.addSubview(button)
|
cell.contentView.addSubview(button)
|
||||||
button.pinToSuperView()
|
button.pinToSuperView()
|
||||||
if hasDebugBorder {
|
if hasDebugBorder {
|
||||||
cell.addDebugBorder()
|
cell.addDebugBorder()
|
||||||
|
|||||||
@ -120,7 +120,8 @@ open class Loader: View {
|
|||||||
|
|
||||||
// setup timer for post
|
// setup timer for post
|
||||||
loadingTimer = Timer.scheduledTimer(withTimeInterval: 60, repeats: true) { [weak self] _ in
|
loadingTimer = Timer.scheduledTimer(withTimeInterval: 60, repeats: true) { [weak self] _ in
|
||||||
self?.accessibilityLabel = "Still Loading"
|
guard let self, self.isActive, self.isVisibleOnScreen else { return }
|
||||||
|
self.accessibilityLabel = "Still Loading"
|
||||||
UIAccessibility.post(notification: .announcement, argument: "Still Loading")
|
UIAccessibility.post(notification: .announcement, argument: "Still Loading")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -171,6 +171,8 @@ open class Tabs: View {
|
|||||||
/// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations.
|
/// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations.
|
||||||
open override func setup() {
|
open override func setup() {
|
||||||
super.setup()
|
super.setup()
|
||||||
|
isAccessibilityElement = false
|
||||||
|
|
||||||
scrollView = UIScrollView()
|
scrollView = UIScrollView()
|
||||||
scrollView.translatesAutoresizingMaskIntoConstraints = false
|
scrollView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
scrollView.showsHorizontalScrollIndicator = false
|
scrollView.showsHorizontalScrollIndicator = false
|
||||||
@ -262,6 +264,7 @@ open class Tabs: View {
|
|||||||
model.onClick?(tab.index)
|
model.onClick?(tab.index)
|
||||||
self.selectedIndex = tab.index
|
self.selectedIndex = tab.index
|
||||||
self.onTabDidSelect?(tab.index)
|
self.onTabDidSelect?(tab.index)
|
||||||
|
let t = tabViews[tab.index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -301,7 +304,7 @@ open class Tabs: View {
|
|||||||
tabItem.orientation = orientation
|
tabItem.orientation = orientation
|
||||||
tabItem.surface = surface
|
tabItem.surface = surface
|
||||||
tabItem.indicatorPosition = indicatorPosition
|
tabItem.indicatorPosition = indicatorPosition
|
||||||
tabItem.accessibilityHint = "\(index+1) of \(tabViews.count) Tabs"
|
tabItem.accessibilityValue = "\(index+1) of \(tabViews.count) Tabs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,4 +24,30 @@ extension UIView {
|
|||||||
public func setAccessibilityLabel(for views: [UIView]) {
|
public func setAccessibilityLabel(for views: [UIView]) {
|
||||||
accessibilityLabel = combineAccessibilityLabel(for: views)
|
accessibilityLabel = combineAccessibilityLabel(for: views)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Will tell if the view is actually visibile on screen, also it will check the hierarchy above this view.
|
||||||
|
public var isVisibleOnScreen: Bool {
|
||||||
|
// Ensure the view has a window, meaning it's part of the view hierarchy
|
||||||
|
guard let window = self.window, !self.isHidden, self.alpha > 0 else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the view's frame intersects with the window's bounds
|
||||||
|
let viewFrameInWindow = self.convert(self.bounds, to: window)
|
||||||
|
var isIntersecting = viewFrameInWindow.intersects(window.bounds)
|
||||||
|
|
||||||
|
// Check parent views for visibility
|
||||||
|
var currentView: UIView? = self
|
||||||
|
while let view = currentView, isIntersecting {
|
||||||
|
// If any parent has a constraint making it effectively invisible, set isIntersecting to false
|
||||||
|
if view.bounds.size.width == 0 || view.bounds.size.height == 0 {
|
||||||
|
isIntersecting = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
currentView = view.superview
|
||||||
|
}
|
||||||
|
|
||||||
|
return isIntersecting
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,11 @@
|
|||||||
|
1.0.54
|
||||||
|
----------------
|
||||||
|
- CXTDT-518373 Accessibility Voiceover is reading “Still Loading” after waiting for a short time in all the screens.
|
||||||
|
|
||||||
|
1.0.53
|
||||||
|
----------------
|
||||||
|
- ONEAPP-4683 - Updated to accesibilityValue for the tabs position.
|
||||||
|
|
||||||
1.0.52
|
1.0.52
|
||||||
----------------
|
----------------
|
||||||
- ONEAPP-6244 - TitleLockup TitleLabel marked as .heading for Accessibility.
|
- ONEAPP-6244 - TitleLockup TitleLabel marked as .heading for Accessibility.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user