Post

Replies

Boosts

Views

Activity

Reply to barTintColor not working in iOS 15
Hi, little bit late to the game, but i just got this in my app after compiling with xcode 13. I followed the advice from @Rincewind and got it working, with one exception: When you change the appearances, the navigation text, is then black, not white. The back arrow is still white though. I managed to sort this out by doing the "largeTextAttributes"-dance : coloredAppearance.titleTextAttributes = [.foregroundColor: UIColor.white] coloredAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white] However, i am surprised that this is not mentioned by anyone in this thread. Howcome i am the only one having this color issue? Am i missing something? Pointers appreciated.
Sep ’21
Reply to barTintColor not working in iOS 15
@cblaze22 asked for an Objective-C version. Here: UINavigationBarAppearance *navBarAppearance = [[UINavigationBarAppearance alloc] init]; [navBarAppearance configureWithOpaqueBackground]; navBarAppearance.backgroundColor = [UIColor blueColor]; [navBarAppearance setTitleTextAttributes: @{NSForegroundColorAttributeName:[UIColor whiteColor]}]; navBar.standardAppearance = navBarAppearance; navBar.scrollEdgeAppearance = navBarAppearance; [navBarAppearance release];` ```
Sep ’21
Reply to Why is my widget drawn twice?
Hey, thanks for responding. Ok, that was clarifying, however I must as a follow-up question. If it is created twice, once for light, and once for dark, why am i seeing it being redrawn on-screen? My widget should be displaying the "dark mode version", so it should not be visibly reloaded (i.e. the number changes twice) just because light mode is created? EDIT: Also, as a side note i just came to think of - If my widget does not support dark/light mode, i.e. it always returns the same, as in this case, wouldn't make sense that i could config that? If my widget takes a lot of resources to create itself (like heavy network calls, calculations etc), it seems like a waste to create the same thing twice, or more, times.
Oct ’22
Reply to How can I share code between app and widget that contains uiapplication?
Hey thanks for great responses! I am currently looking at extensions. this way, I can have the MyLoggingClass contain the code that works everywhere, and then in an extension to MyLoggingClass, that I put inside the App only, I override the "doNotification"method to contain the logic to see if the app is running. This way, in the extension the "regular" method will be called, and in the app the overridden method will be called. This would work right?
Aug ’24
Reply to What is the reason for the CLLocationmanager.locationServicesEnabled() "invoked on main thread" warning?
Hmm. It feels very scary to argue with an Apple engineer, but I have to make sure I'm not being unclear. From Apple's doc: CLLocationManager.LocationServicesEnabled(): Returns a Boolean value indicating whether location services are enabled on the device. CLLocationManager.authorizationStatus The current authorization status for the app From the documentation, it seems pretty clear. Please consider my short code snippet at the bottom. If I go into settings/privacy and turn the "location services" global checkbox back and forth, the locationServicesEnabled method returns true/false My authorisation status does not change, and when I turn the global setting back I still have the authorisation status I had before. This is why the error message seems strange to me. Saying that I should look at the authorizationstatus-callback to know whether the user has enabled location services globally is to me confusing two different things? EDIT: To be super clear, I have the didChangeAuthorizationStatus implemented since a long time. It is called when you click around on the "always"; "in use" etc. options for my app. It is not called when I turn location services on and off, which is the call that Xcode is warning me about. Snippet: CLLocationManager *man = [[CLLocationManager alloc] init]; //Returns a Boolean value indicating whether location services are enabled on the device. BOOL enabled = man.locationServicesEnabled; //The current authorization status for the app. CLAuthorizationStatus stat = man.authorizationStatus; [DialogUtils showBannerWithHeader:@"CHECK" message:[NSString stringWithFormat:@"Enabled? %i AuthStatus: %i", enabled, stat] type:MessageTypeINFO];
Sep ’24