#import "DBNumberedSlider.h" #import "LauncherPreferences.h" #import "LauncherPreferencesViewController.h" #include "utils.h" @interface LauncherPreferencesViewController () { } // - (void)method @end @implementation LauncherPreferencesViewController UITextField* versionTextField; - (void)viewDidLoad { [super viewDidLoad]; [self setNeedsUpdateOfScreenEdgesDeferringSystemGestures]; [self setNeedsUpdateOfHomeIndicatorAutoHidden]; [self setTitle:@"Launcher preferences"]; CGRect screenBounds = [[UIScreen mainScreen] bounds]; CGFloat screenScale = [[UIScreen mainScreen] scale]; int width = (int) roundf(screenBounds.size.width); int height = (int) roundf(screenBounds.size.height) - self.navigationController.navigationBar.frame.size.height; UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; [self.view addSubview:scrollView]; scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; // Update color mode once if(@available(iOS 13.0, *)) { [self traitCollectionDidChange:nil]; } else { self.view.backgroundColor = [UIColor whiteColor]; } UILabel *btnsizeTextView = [[UILabel alloc] initWithFrame:CGRectMake(4.0, 8.0, 0.0, 30.0)]; btnsizeTextView.text = @"Button scale: "; btnsizeTextView.numberOfLines = 0; btnsizeTextView.textAlignment = NSTextAlignmentCenter; [btnsizeTextView sizeToFit]; CGRect tempRect = btnsizeTextView.frame; tempRect.size.height = 30.0; btnsizeTextView.frame = tempRect; [scrollView addSubview:btnsizeTextView]; DBNumberedSlider *buttonSizeSlider = [[DBNumberedSlider alloc] initWithFrame:CGRectMake(8.0 + btnsizeTextView.frame.size.width, 8.0, self.view.frame.size.width - btnsizeTextView.frame.size.width - 12.0, btnsizeTextView.frame.size.height)]; buttonSizeSlider.tag = 1; [buttonSizeSlider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside]; [buttonSizeSlider setBackgroundColor:[UIColor clearColor]]; buttonSizeSlider.minimumValue = 50.0; buttonSizeSlider.maximumValue = 500.0; buttonSizeSlider.continuous = YES; buttonSizeSlider.value = ((NSNumber *) getPreference(@"button_scale")).floatValue; [scrollView addSubview:buttonSizeSlider]; scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, scrollView.frame.size.height + 200); } - (void)sliderMoved:(DBNumberedSlider *)sender { switch (sender.tag) { case 1: setPreference(@"button_scale", @(sender.value)); break; default: NSLog(@"what does slider %ld for? implement me!", sender.tag); break; } } - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures { return UIRectEdgeBottom; } - (BOOL)prefersHomeIndicatorAutoHidden { return NO; } -(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { if(@available(iOS 13.0, *)) { if (UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { self.view.backgroundColor = [UIColor blackColor]; } else { self.view.backgroundColor = [UIColor whiteColor]; } } } @end