Certain fonts not working for UIButton in XCode - ios

When visually editing my app using the Storyboard in XCode 6 (also available in XCode 5) I can change the font of UIButtons using the Attributes Inspector. I can change from "System - System" to "Custom" which allows me to change the Family. However, it appears only some families work, as when I try to select others such as "Iowan Old Style" the selection doesn't stick and it shows the previous font. Is this a bug or are fonts restricted in some way that I'm not aware of?

This is a bug in Beta 5. I've experienced the same issues and verified that they programmatically work just setting them via UIFont. This is also a regression since this was working in Beta 4.
Unfortunately, it looks like we're gonna just have to wait until the next beta release (beta 6) for a fix.

Related

Custom font none installed - Xcode 11 beta

After installing the new beta xCode. The custom font set in an existing project does not work. When opening the storyboard file, it says as shown in image below
After clocking ok, I'm not able to choose custom font from the attribute inspector.
It was working fine with xcode 10.2. This issue occurs only on Xcode 11 beta
I had the same issue after I switched system language, and it was fixed by restarting the system and then restarting Xcode.
I've also had this issue.
I had to change the text style to attributed, pick the font, then change back to plain.
2022 Update!
You don't need to restart your system. Just perform these simple steps to solve this issue.
Open Spotlight (Cmd + space) and type Font Book
Drag-Drop your font into the Font Book.
Restart Xcode and it'll work fine.

Xcode 6.3 freezes/hangs after opening XIB file

After upgrading to Xcode 6.3 (release version), Xcode now freeze every time I open a XIB/Storyboard file that includes an IB_DESIGNABLE view that uses a custom font for any projects and includes a custom font (not necessarily to have reference to that font in that XIB/Storyboard). The freeze occurs after opening the .xib file and then attempting to switch to any other file. Xcode hangs and must be force quit.
I have opened a bug report with Apple. (Bug 20483867).
Right now, I have two work arounds.
Download and use Xcode 6.2 from Apple.
Remove the IB_DESIGNABLE tags from the custom view header files.
This is likely an Apple bug, but does anyone have a better work around or solution?
I've already suggested an edit for a more accurate description.
It only happens when your project contains a custom font.
It'll freeze just by visiting any Storyboard/XIB that contains an IBDesignable custom view, not even referencing to that font in your Storyboard/XIB.
My workaround is to use have an older version of Xcode also installed (Xcode 6.3 beta or Xcode 6.2) and use that to update your Interface Builder files, and never open it in 6.3. open those Storyboard/XIB in a new window in Xcode with option+shift+click the file in the project tree.
Whenever you encounter the freeze, I use this command to clear the saved state just for that project.
rm -rf YourProject.xcodeproj/project.xcworkspace/xcuserdata
Xcode 6.3.1 fixes the problem with custom fonts and IB_DESIGNABLE views in a Storyboard. Update via the Mac App Store, and you should be good.
Response from Apple: Link to Developer Forums on Apple
Thank you all for your reports. We are tracking this on our end and working hard to resolve it. Unfortunately we don't have a great workaround, but here are two options to get you going:
If Xcode is hanging on launch because a storyboard/XIB using a custom font/IBDesignable was previously open: remove the "UserInterfaceState.xcuserstate" file inside the xcodeproj of the project you are opening, it would be at a path like this: My App.xcodeproj/project.xcworkspace/xcuserdata/yourusername.xcuserdatad/UserInterfaceState.xcuserstate
If you really need to edit the storyboard/XIB file containing the custom font with Xcode 6.3:
Make a copy of your storyboard/XIB file as a backup
Open the storyboard/XIB file in a text editor
Remove XML tags named "fontDescription" that reference your custom font, for example: . Removing this tag will revert the font to the standard system font.
Make outlets to the objects using the custom font and at runtime set the font of those objects to your custom font, for example in an override of viewDidLoad or awakeFromNib on your view controller
IMPORTANT NOTE: we never recommend hand editing storyboard/XIB files. However we recognize this issue is preventing many of you from editing your documents and wanted to provide a workaround with the caveat that any hand editing may result in corruption of your document.
Same problem for me. Removing IB_DESIGNABLE fixes the problem.. Going back to 6.2 doesn't work for me as I'm testing apps on device with iOS 8.3 - Xcode 6.2 can't run apps on devices with iOS 8.3 :(
Another workaround is to change the file extensions to all of your font files and load the changed file names from Info.plist.
This way you can keep IBDesignables and still use your custom fonts, but wont be able to see them in the Font Picker in Interface Builder.
All custom fonts that were peviously set from Interface Builder will continue to work, but in order to change them or to set another custom fonts, you will have to do it either from code or to modify the Storyboard or Nib files from text editor in order to set the font name.
I don't have an answer but found out that simply force-quitting and restarting will re-launch Xcode in the exact same situation. To just be able to restart Xcode, remove the folder ~/Library/Saved Application State/com.apple.dt.Xcode.savedState.
This bug has been fixed in the 6.4 Xcode beta that came out today. Go to the dev center and log in to download it.
Xcode 8.1 - if you have a view with Navigation (in my case it was top Bar opaque Navigation Bar), just try to set property "top Bar" to None.
As a workaround,I just commented out all the #IBDesignable markup in my handful of custom components that use this. When I did that, yes I lose ability to tweak the settings in Interface Builder, but it allowed me to at least open the .xib files w/out XCode crashing.
I will simply un-comment those #IBDesignable lines when Apple comes up w/ a fix.
#O. Kurnenkov's answer worked for me. It didn't have anything to do with IB_Designable nor custom fonts, Cocoapods, etc.
For some reason having an "Opaque Navigation Bar" causes the nib file (it doesn't seem to affect storyboards) to constantly change y position; this can be seen in the Size Inspector where the y position will flicker between 0 and 64. This is happening to me with Xcode 8.2 (8C38).
My guess here is that this causes Xcode to constantly update the layout thus draining resources and causing it to hang/freeze.
The solution is to use any of the "Translucent" options, Inferred, or None.
Hope this helps!

Custom font displaying on iOS Simulator but not on Storyboard

"I have my custom fonts working fine when they are running on the simulator, but is there any way to view custom fonts in the storyboard itself while I'm working? My text doesn't match the size of the default font so I have to keep compiling and running the code and eyeing the correct size by trial and error over and over.
I've seen a few questions hit on this, but it's just bringing up how to upload custom fonts."
I have copied paste this question from Viewing Custom Text in Xcode Storyboard since it describes exactly what I am having trouble with but he had XCode 4 and I have the 5th version. Is there any solution for the XCode 5?
Unfortunately this is a well established bug. Custom fonts do not appear correctly in Interface Builder. You should file an enhancement request with Apple. Until they fix it, you'll just have to live with it.

iOS6 vs iOS7 Appearance Interface Builder

I'm a bit confused by how the UI compatibility model is setup in iOS.
It seems you can force iOS6 look & feel while running the app in iOS7 by changing the storyboard/interface builder settings. But when you set it for iOS7 UI, iOS6 devices are unable to install the app.
Is it possible for the app to be rendered with the new flat look in iOS7 and still maintain compatible w/ iOS6 devices rendering the old glossy UI ?
have you tried one of the following?
setting the min version of iOS that will run your app
changing the build for tab under the IB section
For the first one, just go to your project settings, and find
then you can just change the 7.0 to whatever version you're running..
For the second one, just open the right panel in IB, and do
and see if that helps you any.
Hope this helps!

iOS accessibility hint not being spoken on an Text Field

We have created a very simple app using storyboards which contains a single screen with a Text Field. I have set the Accessibility Label and Hint on the Text Field however when I deploy the app to my iPhone, Voiceover only reads out the Label not the Hint.
I am assuming this must be a bug, has anyone seen similar behaviour?
Note we were developing using Xcode 4.2 under Lion and deploying to an iPhone running 5.0.1.
Thanks
without looking at your code, that's kind of hard; this article is quite in depth and explains Voiceover, Labels, and Hints very well:
http://mattgemmell.com/2010/12/19/accessibility-for-iphone-and-ipad-apps/
I am seeing this behavior on iOS 5.0 and 5.1, but it appears to be fixed in iOS 6.0.

Resources