mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 03:20:48 +00:00
Fix disabled check button glitches
This commit is contained in:
parent
ff1c7ed2c4
commit
9978ef6725
@ -6,6 +6,7 @@
|
||||
@interface TGAttachmentAssetCell ()
|
||||
{
|
||||
SMetaDisposable *_itemSelectedDisposable;
|
||||
bool _ignoreSetSelected;
|
||||
}
|
||||
@end
|
||||
|
||||
@ -126,14 +127,16 @@
|
||||
|
||||
- (void)checkButtonPressed
|
||||
{
|
||||
[_checkButton setSelected:!_checkButton.selected animated:true];
|
||||
_ignoreSetSelected = true;
|
||||
|
||||
[self.selectionContext setItem:(id<TGMediaSelectableItem>)self.asset selected:_checkButton.selected animated:false sender:_checkButton];
|
||||
[self.selectionContext setItem:(id<TGMediaSelectableItem>)self.asset selected:!_checkButton.selected animated:true sender:_checkButton];
|
||||
|
||||
bool value = [self.selectionContext isItemSelected:(id<TGMediaSelectableItem>)self.asset];
|
||||
if (value != _checkButton.selected) {
|
||||
[_checkButton setSelected:value animated:false];
|
||||
[_checkButton setSelected:value animated:true];
|
||||
}
|
||||
|
||||
_ignoreSetSelected = false;
|
||||
}
|
||||
|
||||
- (void)setChecked:(bool)checked animated:(bool)animated
|
||||
|
@ -483,7 +483,7 @@ static CGAffineTransform TGCheckButtonDefaultTransform;
|
||||
{
|
||||
_numberLabel = [[UILabel alloc] init];
|
||||
_numberLabel.backgroundColor = [UIColor clearColor];
|
||||
_numberLabel.frame = CGRectMake(0.0f, -TGScreenPixel, _wrapperView.frame.size.width, _wrapperView.frame.size.height);
|
||||
_numberLabel.frame = CGRectMake(0.0f, -TGScreenPixel, _wrapperView.bounds.size.width, _wrapperView.bounds.size.height);
|
||||
_numberLabel.textColor = _checkColor;
|
||||
_numberLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_numberLabel.userInteractionEnabled = false;
|
||||
|
@ -96,8 +96,7 @@
|
||||
|
||||
- (void)checkButtonPressed
|
||||
{
|
||||
[_checkButton setSelected:!_checkButton.selected animated:true];
|
||||
[self.selectionContext setItem:(id<TGMediaSelectableItem>)self.item selected:_checkButton.selected animated:false sender:_checkButton];
|
||||
[self.selectionContext setItem:(id<TGMediaSelectableItem>)self.item selected:!_checkButton.selected animated:false sender:_checkButton];
|
||||
bool value = [self.selectionContext isItemSelected:(id<TGMediaSelectableItem>)self.item];
|
||||
if (value != _checkButton.selected) {
|
||||
[_checkButton setSelected:value animated:true];
|
||||
|
@ -64,6 +64,7 @@
|
||||
|
||||
TGModernButton *_muteButton;
|
||||
TGCheckButtonView *_checkButton;
|
||||
bool _ignoreSetSelected;
|
||||
TGMediaPickerPhotoCounterButton *_photoCounterButton;
|
||||
TGMediaPickerGroupButton *_groupButton;
|
||||
TGMediaPickerCameraButton *_cameraButton;
|
||||
@ -531,7 +532,9 @@
|
||||
if ([_currentItem conformsToProtocol:@protocol(TGModernGallerySelectableItem)])
|
||||
selectableItem = ((id<TGModernGallerySelectableItem>)_currentItem).selectableMediaItem;
|
||||
|
||||
[_checkButton setSelected:[_selectionContext isItemSelected:selectableItem] animated:false];
|
||||
if (!_ignoreSetSelected) {
|
||||
[_checkButton setSelected:[_selectionContext isItemSelected:selectableItem] animated:false];
|
||||
}
|
||||
[_checkButton setNumber:[_selectionContext indexOfItem:selectableItem]];
|
||||
signal = [_selectionContext itemInformativeSelectedSignal:selectableItem];
|
||||
[_itemSelectedDisposable setDisposable:[signal startWithNext:^(TGMediaSelectionChange *next)
|
||||
@ -669,15 +672,17 @@
|
||||
if ([_currentItem conformsToProtocol:@protocol(TGModernGallerySelectableItem)])
|
||||
selectableItem = ((id<TGModernGallerySelectableItem>)_currentItem).selectableMediaItem;
|
||||
|
||||
[_checkButton setSelected:!_checkButton.selected animated:true];
|
||||
_ignoreSetSelected = true;
|
||||
|
||||
if (selectableItem != nil) {
|
||||
[_selectionContext setItem:selectableItem selected:_checkButton.selected animated:animated sender:_checkButton];
|
||||
[_selectionContext setItem:selectableItem selected:!_checkButton.selected animated:animated sender:_checkButton];
|
||||
bool value = [_selectionContext isItemSelected:selectableItem];
|
||||
if (value != _checkButton.selected) {
|
||||
[_checkButton setSelected:value animated:true];
|
||||
}
|
||||
[_checkButton setSelected:value animated:true];
|
||||
} else {
|
||||
[_checkButton setSelected:!_checkButton.selected animated:true];
|
||||
}
|
||||
|
||||
_ignoreSetSelected = false;
|
||||
}
|
||||
|
||||
- (void)photoCounterButtonPressed
|
||||
|
Loading…
x
Reference in New Issue
Block a user