I have a custom tabBar in my Swift app that displays fine on all tested devices except one (iPhone 5 running iOS 9.3.2), where the selected item gets a different background color (see attached image). Any ideas what this might be caused by or how to debug it?
Update:
Tried another iPhone 5 also running iOS 9.3.2, and the same issue showed up... The issue doesn't show up on iphone 5c, 5s,6, 6s, ipod touch or in the simulator.
Solved it!
It turned out not be a bug after all, but caused by the phone's accessibility settings:
Settings > General > Accessibility > setting Button Shapes to OFF
=> Buttons are no longer outlined like in the screenshot!
Related
My app runs properly on the simulator, but crashes on my iOS 13.2 iPhone when it is about to run on the device. Also the textfield become black. Why? Thanks in advance.
If you have update xCode to 11.2 then according to this discussion it could be a new bug, which occurs when using UITextView created in Interface Builder.
Your textfield becomes black because by default the background color of text field component is "Default" color, that is it changes according to the iPhone theme, you will have to explicitly set the background of the textfield so that it is consistent on both themes. The crash seems to be a bug , and a screenshot of the same will help.
I've added a toolbar in storyboard and it's well shown.
However when I run on the simulator (iPhone 8 plus), it doesn't display the toolbar.
Any help would be appreciated!
Do u have any constraints or other UI that covers tool bar? Or do you have alpha of toolbar set to 0 or color to clear color?
Did you test on other simulators?
Try cleaning the project and reseting the simulator or restarting the simulator.
I just looked over and toolbar is displaying well on iPhone 8 plus simulator and other.
I have written same code and launched it on simulator iPhone 7 with iOS 10.3 and on my iPhone 6 with iOS 10.3.3 and I see some differences in there. I am sure you can see that too(the buttons are underlined, change color button has different background, etc.) . Why there is this difference? Can you help me out? Thanks a lot.
I think it's not an issue with your code. This issue is because you have switched on Settings > General > Accessibility Button shapes in iPhone 6.
Switch it off and the UI will become fine.
It looks like you have some of the accessibility options turn on on your iPhone 6. It looks like "Button shapes" is turned on.
I just recognized that I can see thru the iOS Simulator if an UIView is defined with (semi-) transparent content. But I can not make a screenshot of it, on the screenshot the effect is gone.
The (custom) navigation bar on top has alpha set to CGFloat(0.9).
Here a screenshot taken with an iPhone 6:
Zoom in and you can see thru the simulator window on Xcode. I assume this is a bug, or is it intended behavior of the OS X transparency effects? If it is intended, can I turn it off?
Ok, I have found the problem. Actually it is not a transparency effect but a display problem. I am using an iMac 27inch with an IPS LCD display, which suffers heavily from "screen burning". Xcode is standing on this position for hours so it burned in into the display. That's why I can not make a screenshot - it is a hardware problem.
https://discussions.apple.com/thread/5255653?tstart=0
Yeah this is going to be a hardware / screen problem. Should not translate to your app.
I have an app on the store and I started working on the update for iOS 8 a while ago, everything seemed to work fine except for this problem I'm having with the layouts. No matter what device I test the app on, there's always a black bar at the bottom (or the side on landscape mode).
Test on iPhone 5S
Test on iPhone 4S
Is this an issue with iOS 8? How can I solve it?
I had this same issue with the thin bar along one side when an iOS 8 device was rotated to landscape. I found the solution to this problem here: Building project with Xcode 6 (iOS 8 SDK) causes landscape rotation rendering issue on iPad
The fix I did was to go to MainWindow.xib, select the Window, then go to the Attributes inspector and select the two check boxes for Visible at Launch and Full Screen at Launch.