소스 검색

better management of adding and removing platter

pull/1/head
Burrit0z 4 년 전
부모
커밋
8ef3fb0a58
2개의 변경된 파일20개의 추가작업 그리고 6개의 파일을 삭제
  1. +17
    -3
      KAIBatteryPlatter.mm
  2. +3
    -3
      Kai.xm

+ 17
- 3
KAIBatteryPlatter.mm 파일 보기

@@ -132,7 +132,10 @@ long long lastPercentage;
self.number = [self.stack.subviews count];

if(self.number==0) {
[(UIStackView *)(self.superview) removeArrangedSubview:self];
UIStackView *s = (UIStackView *)(self.superview);
s.frame = CGRectMake(s.frame.origin.x, s.frame.origin.y, s.frame.size.width, (s.frame.size.height - 1));
[s removeArrangedSubview:self];
[self removeFromSuperview];
} else if(self.number!=0 && self.superview == nil) {
[[[[objc_getClass("CSAdjunctListView") class] sharedListViewForKai] stackView] addArrangedSubview:self];
//[self performSelector:@selector(calculateHeight) withObject:self afterDelay:0.1];
@@ -142,9 +145,17 @@ long long lastPercentage;
[UIView animateWithDuration:0.3 animations:^{

if(!self.heightConstraint) {
int height = (self.number * (bannerHeight + spacing));
if(kaiAlign!=0) {
height = bannerHeight + spacing;
}

if([self.superview.subviews count]>1) {
height = (height - spacing) + 1;
}

self.heightConstraint = [self.heightAnchor constraintEqualToConstant:(self.number * (bannerHeight + spacing))];
self.stack.heightConstraint = [self.heightAnchor constraintEqualToConstant:(self.number * (bannerHeight + spacing))];
self.heightConstraint = [self.heightAnchor constraintEqualToConstant:height];
self.stack.heightConstraint = [self.heightAnchor constraintEqualToConstant:height];
self.heightConstraint.active = YES;
self.stack.heightConstraint.active = YES;
[self setContentSize:self.stack.frame.size];
@@ -166,7 +177,10 @@ long long lastPercentage;
//literally does nothing but makes the stack view lay itself out (doesnt adjust frame because translatesAutoreszingMaskIntoConstraints = NO on stack views)
}

[self setContentSize:self.stack.frame.size];

}];

}

-(void)refreshForPrefs {

+ 3
- 3
Kai.xm 파일 보기

@@ -16,6 +16,9 @@ CSAdjunctListView *list;
//and insert into last slot.
[[self stackView] removeArrangedSubview:[KAIBatteryPlatter sharedInstance]];
[[self stackView] insertArrangedSubview:[KAIBatteryPlatter sharedInstance] atIndex:([[self stackView].subviews count] -1)];
} else if([[self stackView].subviews objectAtIndex:0] != [KAIBatteryPlatter sharedInstance] && !belowMusic) {
[[self stackView] removeArrangedSubview:[KAIBatteryPlatter sharedInstance]];
[[self stackView] insertArrangedSubview:[KAIBatteryPlatter sharedInstance] atIndex:0];
}

if([KAISelf.superview respondsToSelector:@selector(fixComplicationsViewFrame)]) {
@@ -74,7 +77,6 @@ CSAdjunctListView *list;
}
if([KAISelf.superview respondsToSelector:@selector(fixComplicationsViewFrame)]) {
[KAISelf.superview performSelector:@selector(fixComplicationsViewFrame) withObject:KAISelf.superview afterDelay:0.35];
//[KAISelf.superview performSelector:@selector(fixComplicationsViewFrame) withObject:KAISelf.superview afterDelay:0.5];
}

isUpdating = NO;
@@ -106,11 +108,9 @@ CSAdjunctListView *list;
}

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
//if([self isMemberOfClass:[objc_getClass("BCBatteryDevice") class]] && [self respondsToSelector:@selector(_kaiCell)] && object == self && ([keyPath isEqualToString:@"charging"] || [keyPath isEqualToString:@"percentCharge"] || [keyPath isEqualToString:@"batterySaverModeActive"])) {

//sends the noti to update battery info
[[NSNotificationCenter defaultCenter] postNotificationName:@"KaiInfoChanged" object:nil userInfo:nil];
//}
}


Loading…
취소
저장