mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-20 00:24:43 +02:00
Flush pills on text view updates
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
@interface MXKMessageTextView()
|
||||
|
||||
@property (nonatomic, readwrite) CGPoint lastHitTestLocation;
|
||||
@property (nonatomic) NSArray *pillViews;
|
||||
|
||||
@end
|
||||
|
||||
@@ -54,4 +55,40 @@
|
||||
return [self isThereALinkNearLocation:point];
|
||||
}
|
||||
|
||||
#pragma mark - Pills Flushing
|
||||
|
||||
- (void)setText:(NSString *)text
|
||||
{
|
||||
if (@available(iOS 15.0, *)) {
|
||||
[self flushPills];
|
||||
}
|
||||
[super setText:text];
|
||||
}
|
||||
|
||||
- (void)setAttributedText:(NSAttributedString *)attributedText
|
||||
{
|
||||
if (@available(iOS 15.0, *)) {
|
||||
[self flushPills];
|
||||
}
|
||||
[super setAttributedText:attributedText];
|
||||
}
|
||||
|
||||
- (void)registerPillView:(UIView *)pillView
|
||||
{
|
||||
NSMutableArray *pills = [NSMutableArray arrayWithArray:self.pillViews];
|
||||
[pills addObject:pillView];
|
||||
self.pillViews = pills;
|
||||
}
|
||||
|
||||
/// Flushes all previously registered Pills from their hierarchy.
|
||||
- (void)flushPills API_AVAILABLE(ios(15))
|
||||
{
|
||||
for (UIView* view in self.pillViews)
|
||||
{
|
||||
view.alpha = 0.0;
|
||||
[view removeFromSuperview];
|
||||
}
|
||||
self.pillViews = [NSArray new];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user