Various Fixes

This commit is contained in:
Ilya Laktyushin 2021-02-18 01:47:34 +04:00
parent 22f9a91f97
commit a47c3777e6
4 changed files with 48 additions and 25 deletions

View File

@ -230,7 +230,7 @@ static void setViewFrame(UIView *view, CGRect frame)
if (_inputField.internalTextView.isFirstResponder) if (_inputField.internalTextView.isFirstResponder)
[TGHacks applyCurrentKeyboardAutocorrectionVariant]; [TGHacks applyCurrentKeyboardAutocorrectionVariant];
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithAttributedString:_inputField.text == nil ? [[NSAttributedString alloc] initWithString:@""] : _inputField.attributedText]; //[[NSMutableAttributedString alloc] initWithString:_inputField.text == nil ? @"" : _inputField.text]; NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithAttributedString:_inputField.text == nil ? [[NSAttributedString alloc] initWithString:@""] : _inputField.attributedText];
NSMutableString *usualString = [text.string mutableCopy]; NSMutableString *usualString = [text.string mutableCopy];
int textLength = (int)text.length; int textLength = (int)text.length;
for (int i = 0; i < textLength; i++) for (int i = 0; i < textLength; i++)
@ -248,20 +248,6 @@ static void setViewFrame(UIView *view, CGRect frame)
break; break;
} }
for (int i = textLength - 1; i >= 0; i--)
{
unichar c = [usualString characterAtIndex:i];
if (c == ' ' || c == '\t' || c == '\n')
{
[text deleteCharactersInRange:NSMakeRange(i, 1)];
[usualString deleteCharactersInRange:NSMakeRange(i, 1)];
textLength--;
}
else
break;
}
_inputField.internalTextView.attributedText = text; _inputField.internalTextView.attributedText = text;
__autoreleasing NSArray *entities = nil; __autoreleasing NSArray *entities = nil;

View File

@ -3,6 +3,6 @@
@interface TGPhotoEditorHUDView : UIView @interface TGPhotoEditorHUDView : UIView
- (void)setText:(NSString *)text; - (void)setText:(NSString *)text;
- (void)setAttributedText:(NSAttributedString *)text; - (void)setTitle:(NSString *)title value:(NSString *)value;
@end @end

View File

@ -9,6 +9,7 @@
{ {
UIImageView *_backgroundView; UIImageView *_backgroundView;
UILabel *_label; UILabel *_label;
UILabel *_valueLabel;
} }
@end @end
@ -41,12 +42,37 @@
_backgroundView.image = background; _backgroundView.image = background;
[self addSubview:_backgroundView]; [self addSubview:_backgroundView];
UIFont *font;
if (iosMajorVersion() >= 13) {
UIFontDescriptor *fontDescriptor = [UIFont systemFontOfSize:14.0f weight:UIFontWeightMedium].fontDescriptor;
NSArray *monospacedSetting = @[@{UIFontFeatureTypeIdentifierKey: @(kNumberSpacingType),
UIFontFeatureSelectorIdentifierKey: @(kMonospacedNumbersSelector)}];
UIFontDescriptor *updatedDescriptor = [fontDescriptor fontDescriptorByAddingAttributes:@{
UIFontDescriptorFeatureSettingsAttribute: monospacedSetting
}];
if (updatedDescriptor != nil) {
font = [UIFont fontWithDescriptor:updatedDescriptor size:14.0];
} else {
font = [UIFont systemFontOfSize:14];
}
} else {
font = [UIFont systemFontOfSize:14];
}
_label = [[UILabel alloc] initWithFrame:CGRectZero]; _label = [[UILabel alloc] initWithFrame:CGRectZero];
_label.backgroundColor = [UIColor clearColor]; _label.backgroundColor = [UIColor clearColor];
_label.font = TGSystemFontOfSize(14); _label.font = [UIFont systemFontOfSize:14];
_label.textAlignment = NSTextAlignmentCenter; _label.textAlignment = NSTextAlignmentLeft;
_label.textColor = [UIColor whiteColor]; _label.textColor = [UIColor whiteColor];
[_backgroundView addSubview:_label]; [_backgroundView addSubview:_label];
_valueLabel = [[UILabel alloc] initWithFrame:CGRectZero];
_valueLabel.backgroundColor = [UIColor clearColor];
_valueLabel.font = font;
_valueLabel.textAlignment = NSTextAlignmentRight;
_valueLabel.textColor = [TGPhotoEditorInterfaceAssets accentColor];
[_backgroundView addSubview:_valueLabel];
} }
return self; return self;
} }
@ -62,22 +88,27 @@
_label.text = text; _label.text = text;
[_label sizeToFit]; [_label sizeToFit];
_valueLabel.hidden = true;
[self setNeedsLayout]; [self setNeedsLayout];
[self setHidden:false animated:true]; [self setHidden:false animated:true];
} }
- (void)setAttributedText:(NSAttributedString *)text - (void)setTitle:(NSString *)title value:(NSString *)value
{ {
if (text.length == 0) if (title.length == 0)
{ {
[self setHidden:true animated:true]; [self setHidden:true animated:true];
return; return;
} }
_label.attributedText = text; _label.text = title;
[_label sizeToFit]; [_label sizeToFit];
_valueLabel.text = value;
[_valueLabel sizeToFit];
[self setNeedsLayout]; [self setNeedsLayout];
[self setHidden:false animated:true]; [self setHidden:false animated:true];
@ -104,7 +135,15 @@
_label.frame = CGRectMake(padding, 6.0f, CGCeil(_label.frame.size.width), CGCeil(_label.frame.size.height)); _label.frame = CGRectMake(padding, 6.0f, CGCeil(_label.frame.size.width), CGCeil(_label.frame.size.height));
CGFloat width = _label.frame.size.width + 2.0f * padding; CGFloat width;
if (_valueLabel.isHidden) {
width = _label.frame.size.width + 2.0f * padding;
} else {
width = 2.0f * padding + _label.frame.size.width + 50.0f + 3.0f;
}
_valueLabel.frame = CGRectMake(width - padding - 50.0f, 6.0f, 50.0f, CGCeil(_valueLabel.frame.size.height));
_backgroundView.frame = CGRectMake((self.frame.size.width - width) / 2, 15, width, 30); _backgroundView.frame = CGRectMake((self.frame.size.width - width) / 2, 15, width, 30);
} }

View File

@ -336,9 +336,7 @@ const CGFloat TGPhotoEditorToolsLandscapePanelSize = TGPhotoEditorToolsPanelSize
return; return;
} }
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@ %@", tool.title, [tool stringValue:true]] attributes:@{NSFontAttributeName: TGMediumSystemFontOfSize(14.0f), NSForegroundColorAttributeName: [TGPhotoEditorInterfaceAssets accentColor]}]; [_hudView setTitle:tool.title value:[tool stringValue:true]];
[text addAttributes:@{NSFontAttributeName: TGSystemFontOfSize(14.0f), NSForegroundColorAttributeName: [UIColor whiteColor]} range:NSMakeRange(0, tool.title.length)];
[_hudView setAttributedText:text];
} }
#pragma mark - Transition #pragma mark - Transition