When i use this line
[UIFont fontWithName:#"Arial" size:16] its work fine,but
[UIFont fontWithName:#"Arial Black" size:16] it crashes my app.....
In xib design there is the font name of Arial Black is available.But when i set using [UIFont fontWithName:#"Arial Black" size:16] this it crashes my app.. How can i set this font name to uilabel...
Can any one help me?
Check the return value of +[UIFont fontWithName:size:]. My guess is that "Arial Black" is not being found, and a nil font is being returned. Setting a UILabel's font to nil will crash.
To add - using +familyNames and +fontNamesForFamilyName methods in UIFont you can list all fonts available.
You need Arial-BoldMT
[UIFont fontWithName:#"Arial-BoldMT" size:16];
See here
Related
How to get the font style of UILabel? Whether it is Bold or italic ?
You will need to inspect the font name.
myLabel.font.fontName
http://developer.apple.com/library/ios/documentation/uikit/reference/UIFont_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006891-CH4-SW16
Try this one:
NSAttributedString *string=yourLabel.attributedText;
if ([[textFieldFontName rangeOfString:string] length] > 0){
NSLog(#"Bold");
}
if ([[textFieldFontName rangeOfString:string] length] > 0){
NSLog(#"Italic");
}
*Note if your string contains both then, this may not work
Select your label in the interface builder (xib or storyboard) and go to the Attributes Inspector. There click on the "T" by font and then set font to Custom.
Now you can change the font, size etc.
UILabel *myLabel;
myLabel.font = [UIFont fontWithName:#"fontName" size:16.0];//set font according your choice
myLabel.font = [UIFont boldSystemFontOfSize:16.0];//bold font
myLabel.font = [UIFont systemFontOfSize:16.0];//system font
Hope it's helpful for you....
This question already has an answer here:
Closed 10 years ago.
Possible Duplicate:
Custom font in iPhone
I'm trying to create a custom label to set it as a titleView of my navigationItem, but I'm not able to set the label font to a custom font included im my project.
I have a custom font file called "BADER_AL_GORDABIA-2_0.ttf" and the real font name as shown in FontBook is "bader_al gordabia-2"
I have followed these steps:
checked the deployment target of my app, and it is set to iOS 5.1
added the font file to project resources, and verified that is is added to the build target in the "Copy Bundle Resources" in Build Phases.
added a new key in my info.plist file as "Fonts provided by application", and added the "BADER_AL_GORDABIA-2_0.ttf" inside it.
used the real font name "bader_al gordabia-2" in fontWithName method.
I was able to load the font using
UIFont * customFont = [UIFont fontWithName:#"bader_al gordabia-2" size:18.0f];
and I made sure that customFont is not null (by printing its description), but the problem is I can't apply this custom font to a UILabel.
my code is:
UILabel * titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(100,10,200,24)];
titleLabel.backgroundColor = [UIColor clearColor];
UIFont * customFont = [UIFont fontWithName:#"bader_al gordabia-2" size:18.0f];
[titleLabel setFont:customFont];
titleLabel.text = #"أخبار الجمعية";
//NSLog(#"%#", [customFont description]);
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.textColor = [UIColor whiteColor];
[self.navigationItem setTitleView:titleLabel];
I have tried to search stack Overflow and I wasn't able to find a suitable answer.
I have tried also to use a custom label as specified in the following link:
http://refactr.com/blog/2012/09/ios-tips-custom-fonts/
This is how i am doing it,
UILabel *navLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0, 300, 100)];
navLabel.backgroundColor = [UIColor clearColor];
navLabel.text = #"Set Up";
navLabel.textColor = [UIColor whiteColor];
navLabel.shadowColor = [UIColor colorWithWhite:0.0 alpha:1.0];
navLabel.shadowOffset = CGSizeMake(0, -2);
navLabel.font = [UIFont fontWithName:#"Questrial" size:28.0];
navLabel.textAlignment = UITextAlignmentCenter;
self.navigationItem.titleView = navLabel;
[navLabel release];
Only above code is not working ... So you need to go to your app plist file and add a new row and add this key to the row,
Fonts provided by application
and add the font name to the value of item0,
According to my code it is, "Questrial-Regular.ttf"
Also another thing,
That is you may not know the font name correctly. So you need to find the correct font name. Add this code to your ViewdidLoad and it will log the family names to the terminal.
NSLog(#"%#",[UIFont familyNames]);
And you can find correct font name according to your font.
Follow this steps, it worked for me and i think it will help you too.
Here's what you should do - First add and call the following method anywhere:
+(void)logAllFonts{
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog(#"%#: %#", fontFamily, fontNames);
}
}
This will log all the fontNames present in your project including the external fonts that you have added both in the project and the plist.
Now you go through that list in the console and find the exact font name for the font you added (bader_al gordabia-2). Use this name in fontWithName:
Hope this helps
i have to add custom font file .Name of file if #"sample font.ttf".I do following steps.
Drop the file (sample font.ttf) into your project. Open up your Info.plist file, create a key called UIAppFonts and make it an array. Add the filename of the font as a value
But it not working ..I thought the reason may by space in filename.when i get this file it was a compressed with filename #"sample_font.ttf".when i decompress it ,it removes #"_" and get "sample font.ttf"
Then i install it in font book .the name in window is first word file that is "sample"
I try with various way
UIFont *font = [UIFont fontWithName:#"sample font" size:14];
UIFont *font = [UIFont fontWithName:#"sample" size:14];
UIFont *font = [UIFont fontWithName:#"samplefont" size:14];
UIFont *font = [UIFont fontWithName:#"samplefont-Bold" size:14];
but not working. what exact font name should have to given. ios is 5.0 .Plz help me.
Just double click the font file and install it and then it will open Font book
go to Preview menu->>Show font info
There you can see the name of the font and use that name in UIFont *font = [UIFont fontWithName:#"nameAsSeenInShowFonts" size:14];
Note: The font file name and font name can be different. So in your .plist you use font file name and in your code you use font name
if you try in Ios5 I think you forgot to include your font file in TestApp target membershipI
Except all these, you can use an alternet option for custom fonts. I have implemented this concept jst before some days.
First download this. This is FontLabel. Drop it in your project.
Note that If u want to use fonts for label than only this will help u. If so, than u can use FontLabel object instead of ur label object with same behavior.
For exa.
FontLabel *label;
label = [[FontLabel alloc] initWithFrame:CGRectMake(75, 100, 104, 54) fontName:#"Script MT Bold" pointSize:30.0f];
label.textAlignment = UITextAlignmentCenter;
label.backgroundColor = nil;
[label sizeToFit];
label.opaque = NO;
You can treat label object same as ur UILabel object. FontLabel is subclass of UILabel..
Maybe I'm looking at the wrong place, however how do I set an UILabel's font and AND its weight?
Looking at the documentation, there seems to be only methods to create an UIFont with a given font name and size, like
[UIFont fontWithName:#"Helvetica" size:22])
OR create a bold font, with
[UIFont boldSystemFontOfSize:22]
How can I use these both together?
The documentation for fontWithName:size: states, "...name incorporates both the font family and the specific style information for the font."
So you probably want:
[UIFont fontWithName:#"Helvetica-Bold" size:22];
fontNamesForFamilyName: is handy for getting a list of available fonts for a given family.
For example:
NSArray* fontNames = [UIFont fontNamesForFamilyName:#"Helvetica"];
for( NSString* aFontName in fontNames ) {
NSLog( #"Font name: %#", aFontName );
}
...which outputs:
Font name: Helvetica-BoldOblique
Font name: Helvetica
Font name: Helvetica-Oblique
Font name: Helvetica-Bold
I have to set the font size and font family of a dynamically created textView, so that it gives same appearance as the one generated using Interface builder. Any idea how to do this?
UITextView *textView
...
[textView setFont:[UIFont fontWithName:#"ArialMT" size:16]]
You try this
[textView setFont:[UIFont systemFontOfSize:15]];
or
[textView setFont:[UIFont boldSystemFontOfSize:15]];
or you want to give fontname and size then you try this
[textView setFont:[UIFont fontWithName:#"arial" size:16]]
There is a property called font in UITextView,
#property(nonatomic, retain) UIFont *font
You can do like this:
yourTextView.font = builderTextView.font
may be I am too late but wanted to post my answer as its most relevant with current SDK.
I have used following line of code and work like charm in iOS 8.0
Swift Version:
self.textView.font = [UIFont systemFontOfSize:fontSize];
where fontSize is CGFloat Value.
In IB, select the text area and use the inspector to set the editability (it’s next to the text color). To set the font, you have to bring up the font window (command-T). It may help to have some text in the view when you change the font and size.
textView.font = UIFont(name: "Times New Roman", size: 20)
This worked for me (Swift 4 using in Swift Playgrounds on Xcode).