mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-16 03:09:56 +00:00
Remove extra string/attributed string creation in accessibility properties (#1062)
This commit is contained in:
parent
093ae3fba0
commit
e76b4f02f6
@ -27,6 +27,7 @@
|
|||||||
- Create and set delegate for clip corner layers within ASDisplayNode [Michael Schneider](https://github.com/maicki) [#1029](https://github.com/TextureGroup/Texture/pull/1029)
|
- Create and set delegate for clip corner layers within ASDisplayNode [Michael Schneider](https://github.com/maicki) [#1029](https://github.com/TextureGroup/Texture/pull/1029)
|
||||||
- Improve locking situation in ASVideoPlayerNode [Michael Schneider](https://github.com/maicki) [#1042](https://github.com/TextureGroup/Texture/pull/1042)
|
- Improve locking situation in ASVideoPlayerNode [Michael Schneider](https://github.com/maicki) [#1042](https://github.com/TextureGroup/Texture/pull/1042)
|
||||||
- Remove CA transaction signpost injection because it causes more transactions and is too chatty. [Adlai Holler](https://github.com/Adlai-Holler)
|
- Remove CA transaction signpost injection because it causes more transactions and is too chatty. [Adlai Holler](https://github.com/Adlai-Holler)
|
||||||
|
- Optimize display node accessibility by not creating attributed & non-attributed copies of hint, label, and value. [Adlai Holler](https://github.com/Adlai-Holler)
|
||||||
|
|
||||||
|
|
||||||
## 2.7
|
## 2.7
|
||||||
|
|||||||
@ -607,92 +607,92 @@ static UIColor *defaultTintColor = nil;
|
|||||||
|
|
||||||
- (NSString *)accessibilityLabel
|
- (NSString *)accessibilityLabel
|
||||||
{
|
{
|
||||||
|
if (_flags.setAccessibilityAttributedLabel) {
|
||||||
|
return accessibilityAttributedLabel.string;
|
||||||
|
}
|
||||||
return accessibilityLabel;
|
return accessibilityLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setAccessibilityLabel:(NSString *)newAccessibilityLabel
|
- (void)setAccessibilityLabel:(NSString *)newAccessibilityLabel
|
||||||
{
|
{
|
||||||
if (! ASObjectIsEqual(accessibilityLabel, newAccessibilityLabel)) {
|
ASCompareAssignCopy(accessibilityLabel, newAccessibilityLabel);
|
||||||
_flags.setAccessibilityLabel = YES;
|
_flags.setAccessibilityLabel = YES;
|
||||||
_flags.setAccessibilityAttributedLabel = YES;
|
_flags.setAccessibilityAttributedLabel = NO;
|
||||||
accessibilityLabel = newAccessibilityLabel ? [newAccessibilityLabel copy] : nil;
|
|
||||||
accessibilityAttributedLabel = newAccessibilityLabel ? [[NSAttributedString alloc] initWithString:newAccessibilityLabel] : nil;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSAttributedString *)accessibilityAttributedLabel
|
- (NSAttributedString *)accessibilityAttributedLabel
|
||||||
{
|
{
|
||||||
|
if (_flags.setAccessibilityLabel) {
|
||||||
|
return [[NSAttributedString alloc] initWithString:accessibilityLabel];
|
||||||
|
}
|
||||||
return accessibilityAttributedLabel;
|
return accessibilityAttributedLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setAccessibilityAttributedLabel:(NSAttributedString *)newAccessibilityAttributedLabel
|
- (void)setAccessibilityAttributedLabel:(NSAttributedString *)newAccessibilityAttributedLabel
|
||||||
{
|
{
|
||||||
if (! ASObjectIsEqual(accessibilityAttributedLabel, newAccessibilityAttributedLabel)) {
|
ASCompareAssignCopy(accessibilityAttributedLabel, newAccessibilityAttributedLabel);
|
||||||
_flags.setAccessibilityAttributedLabel = YES;
|
_flags.setAccessibilityAttributedLabel = YES;
|
||||||
_flags.setAccessibilityLabel = YES;
|
_flags.setAccessibilityLabel = NO;
|
||||||
accessibilityAttributedLabel = newAccessibilityAttributedLabel ? [newAccessibilityAttributedLabel copy] : nil;
|
|
||||||
accessibilityLabel = newAccessibilityAttributedLabel ? [newAccessibilityAttributedLabel.string copy] : nil;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)accessibilityHint
|
- (NSString *)accessibilityHint
|
||||||
{
|
{
|
||||||
|
if (_flags.setAccessibilityAttributedHint) {
|
||||||
|
return accessibilityAttributedHint.string;
|
||||||
|
}
|
||||||
return accessibilityHint;
|
return accessibilityHint;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setAccessibilityHint:(NSString *)newAccessibilityHint
|
- (void)setAccessibilityHint:(NSString *)newAccessibilityHint
|
||||||
{
|
{
|
||||||
if (! ASObjectIsEqual(accessibilityHint, newAccessibilityHint)) {
|
ASCompareAssignCopy(accessibilityHint, newAccessibilityHint);
|
||||||
_flags.setAccessibilityHint = YES;
|
_flags.setAccessibilityHint = YES;
|
||||||
_flags.setAccessibilityAttributedHint = YES;
|
_flags.setAccessibilityAttributedHint = NO;
|
||||||
accessibilityHint = newAccessibilityHint ? [newAccessibilityHint copy] : nil;
|
|
||||||
accessibilityAttributedHint = newAccessibilityHint ? [[NSAttributedString alloc] initWithString:newAccessibilityHint] : nil;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSAttributedString *)accessibilityAttributedHint
|
- (NSAttributedString *)accessibilityAttributedHint
|
||||||
{
|
{
|
||||||
|
if (_flags.setAccessibilityHint) {
|
||||||
|
return [[NSAttributedString alloc] initWithString:accessibilityHint];
|
||||||
|
}
|
||||||
return accessibilityAttributedHint;
|
return accessibilityAttributedHint;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setAccessibilityAttributedHint:(NSAttributedString *)newAccessibilityAttributedHint
|
- (void)setAccessibilityAttributedHint:(NSAttributedString *)newAccessibilityAttributedHint
|
||||||
{
|
{
|
||||||
if (! ASObjectIsEqual(accessibilityAttributedHint, newAccessibilityAttributedHint)) {
|
ASCompareAssignCopy(accessibilityAttributedHint, newAccessibilityAttributedHint);
|
||||||
_flags.setAccessibilityAttributedHint = YES;
|
_flags.setAccessibilityAttributedHint = YES;
|
||||||
_flags.setAccessibilityHint = YES;
|
_flags.setAccessibilityHint = NO;
|
||||||
accessibilityAttributedHint = newAccessibilityAttributedHint ? [newAccessibilityAttributedHint copy] : nil;
|
|
||||||
accessibilityHint = newAccessibilityAttributedHint ? [newAccessibilityAttributedHint.string copy] : nil;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)accessibilityValue
|
- (NSString *)accessibilityValue
|
||||||
{
|
{
|
||||||
|
if (_flags.setAccessibilityAttributedValue) {
|
||||||
|
return accessibilityAttributedValue.string;
|
||||||
|
}
|
||||||
return accessibilityValue;
|
return accessibilityValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setAccessibilityValue:(NSString *)newAccessibilityValue
|
- (void)setAccessibilityValue:(NSString *)newAccessibilityValue
|
||||||
{
|
{
|
||||||
if (! ASObjectIsEqual(accessibilityValue, newAccessibilityValue)) {
|
ASCompareAssignCopy(accessibilityValue, newAccessibilityValue);
|
||||||
_flags.setAccessibilityValue = YES;
|
_flags.setAccessibilityValue = YES;
|
||||||
_flags.setAccessibilityAttributedValue = YES;
|
_flags.setAccessibilityAttributedValue = NO;
|
||||||
accessibilityValue = newAccessibilityValue ? [newAccessibilityValue copy] : nil;
|
|
||||||
accessibilityAttributedValue = newAccessibilityValue ? [[NSAttributedString alloc] initWithString:newAccessibilityValue] : nil;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSAttributedString *)accessibilityAttributedValue
|
- (NSAttributedString *)accessibilityAttributedValue
|
||||||
{
|
{
|
||||||
|
if (_flags.setAccessibilityValue) {
|
||||||
|
return [[NSAttributedString alloc] initWithString:accessibilityValue];
|
||||||
|
}
|
||||||
return accessibilityAttributedValue;
|
return accessibilityAttributedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setAccessibilityAttributedValue:(NSAttributedString *)newAccessibilityAttributedValue
|
- (void)setAccessibilityAttributedValue:(NSAttributedString *)newAccessibilityAttributedValue
|
||||||
{
|
{
|
||||||
if (! ASObjectIsEqual(accessibilityAttributedValue, newAccessibilityAttributedValue)) {
|
ASCompareAssignCopy(accessibilityAttributedValue, newAccessibilityAttributedValue);
|
||||||
_flags.setAccessibilityAttributedValue = YES;
|
_flags.setAccessibilityAttributedValue = YES;
|
||||||
_flags.setAccessibilityValue = YES;
|
_flags.setAccessibilityValue = NO;
|
||||||
accessibilityAttributedValue = newAccessibilityAttributedValue? [newAccessibilityAttributedValue copy] : nil;
|
|
||||||
accessibilityValue = newAccessibilityAttributedValue ? [newAccessibilityAttributedValue.string copy] : nil;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (UIAccessibilityTraits)accessibilityTraits
|
- (UIAccessibilityTraits)accessibilityTraits
|
||||||
@ -1087,20 +1087,23 @@ static UIColor *defaultTintColor = nil;
|
|||||||
if (flags.setAccessibilityLabel)
|
if (flags.setAccessibilityLabel)
|
||||||
view.accessibilityLabel = accessibilityLabel;
|
view.accessibilityLabel = accessibilityLabel;
|
||||||
|
|
||||||
if (AS_AT_LEAST_IOS11 && flags.setAccessibilityAttributedLabel)
|
|
||||||
[view setValue:accessibilityAttributedLabel forKey:@"accessibilityAttributedLabel"];
|
|
||||||
|
|
||||||
if (flags.setAccessibilityHint)
|
if (flags.setAccessibilityHint)
|
||||||
view.accessibilityHint = accessibilityHint;
|
view.accessibilityHint = accessibilityHint;
|
||||||
|
|
||||||
if (AS_AT_LEAST_IOS11 && flags.setAccessibilityAttributedHint)
|
|
||||||
[view setValue:accessibilityAttributedHint forKey:@"accessibilityAttributedHint"];
|
|
||||||
|
|
||||||
if (flags.setAccessibilityValue)
|
if (flags.setAccessibilityValue)
|
||||||
view.accessibilityValue = accessibilityValue;
|
view.accessibilityValue = accessibilityValue;
|
||||||
|
|
||||||
if (AS_AT_LEAST_IOS11 && flags.setAccessibilityAttributedValue)
|
if (AS_AVAILABLE_IOS(11)) {
|
||||||
[view setValue:accessibilityAttributedValue forKey:@"accessibilityAttributedValue"];
|
if (flags.setAccessibilityAttributedLabel) {
|
||||||
|
view.accessibilityAttributedLabel = accessibilityAttributedLabel;
|
||||||
|
}
|
||||||
|
if (flags.setAccessibilityAttributedHint) {
|
||||||
|
view.accessibilityAttributedHint = accessibilityAttributedHint;
|
||||||
|
}
|
||||||
|
if (flags.setAccessibilityAttributedValue) {
|
||||||
|
view.accessibilityAttributedValue = accessibilityAttributedValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (flags.setAccessibilityTraits)
|
if (flags.setAccessibilityTraits)
|
||||||
view.accessibilityTraits = accessibilityTraits;
|
view.accessibilityTraits = accessibilityTraits;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user