How to enter unicode characters in a UILabel in Interface Builder? - iphone

I would like to display a unicode character (the speaker symbol U+1F50A) in label.
Is it possible to enter this symbol in Interface Builder?

Yes, you can click "Edit" > "Special Characters…" — there you can find all unicode characters (including the emoji) and copy/paste them where you set the label text in Interface Builder.
EDIT:
In Xcode 6 it's "Edit" > "Emoji & Characters"
Xcode 7+: "Edit" > "Emoji & Symbols"

For those who tried doing it programmatically, but failed, just use this:
label.text = #"\U0001F50A";

Do it programmatically.
Declare an IBOutlet for the Label, with the means of NSString type:
// UTF-8 Hexadecimal Encoding
NSString *myString = [NSString stringWithUTF8String:"0xF09F948A"];
myLabel.text = myString;
Also, take a look at this question.

In Xcode 8/Swift 3 the easiest is to use the unicode escape:
let a = "\u{1F50A}"

It's fun why few people knew this.
You can enter Unicode-symbols directly by holding "Option" and entering hex digit.
All you need: (Sierra example)
goto "Preference -> Keyboards -> Input Sources" and search for "Unicode Hex". It should appears under "Others" section. Next add it and then you be able enter Unicode-char anywhere just selecting this input source.
For example: ✓ = (Alt+2713), € - (20ac), etc.
Most interesting section from 2100 to 2800.
Full list you can found here - Unicode table
P.S.: This method sutable only for four-digit Unicodes

Related

iPhone how to write symbol on a label?

I am going to develop the iPhone app. But I got stuck with one place. I want to write some symbol on the label from the xib file.
The symbols are not on the keyboard but we can get it by the ASCII value.
e.g: the ACSII value for the character sign "mue" is 230 but how to print that symbol "mue" on the label that i dont know.
So please help me for that.
Thanks in advance.
Use whatever editor you like to produce that character, and open your xib in XCode and just copy/paste it in?
Use NSUTF8StringEncoding to encode your string.
For example,
NSString *str = [NSString stringWithUTF8String:"your string for encoding"];
[lblName setText:str];
Following function will also help :
- (NSString *) decodedString:(NSString *) originalString {
NSString *newString = [NSString stringWithUTF8String:[originalString cStringUsingEncoding:[NSString defaultCStringEncoding]]];
return newString;
}
I suggest to use above function.
Pressing Cmd+Ctrl+Space will open a special characters menu. Check if the desired symbol is present. If it isn't, click the gear icon, then select the desired category — add it to the list.
See screenshot below
I think you mean the character 'µ', yes?
If so, you can simply type it into the label by clicking "option" and "m" on your Macintosh keyboard, when you are editing the label in your XIB.
If you can use the unicode number instead, you can do it like this:
NSString *muString = [NSString stringWithFormat:#"%C", 0x03BC];
Write 0x then the unicode number.
Open the "Special Characters"-Panel and search for your character. You can find it at the bottom of the edit menu. There is a shortcut for it too, cmd+opt+t
Copy and paste your character from there to your UILabel.
and btw: option + m = µ
You can simply type into label by using 'Alt' key + 'm' key on key board, when you are editing the label in your XIB and rest of symbols, you can get easily using 'Alt' key and other keys. You can fix 'Alt' key and change other keys(one by one).

Rupee symbol in iOS

How do I add a rupee symbol in a UILabel on the iPhone?
Here is How I've done this by using Unicode Character It's working and tested by me.
NSString *rupee=#"\u20B9";
NSLog(#"print rupee symbol %#",rupee);
Please refer this link UniCode Character
For Swift Language you should try!
let rupee = "\u{20B9}"
println(rupee)
// for Swift >2.0
let rupee = "\u{20B9}"
print(rupee)
more about UniChar you should check this Official Apple Doc Cheers :)
Rupee symbol is available as part of the platform itself. Go to Edit > Special Characters > Currency Symbols.
When I used it first, I was under the impression that this is part of the menu options of Xcode, but right now while I am typing here on this page opened in Firefox and I go to Edit menu, I see the same Special characters option in the menu so probably it is part of OSX itself. Just drag and drop it anywhere on the storyboard where you want this symbol to appear. I'm just dragging and dropping the same here, let's see whether it appears here or not!
₹
This integration of special characters in osx is pretty handy and also has many variations for that special character (rupee symbol in this case)
Yups, Parth is right just copy and paste the rupee symbol (₹) to NSString and you are done.
In Swift 4
let RSlabel = UILabel()
let cost = 1000
override func viewDidLoad() {
super.viewDidLoad()
RSlabel.text = "\u{20B9}"+"\(cost)"
print(RSlabel,"RSlabel")
}
May be you will have to find some language which has a similar symbol.
Or you can just copy the Rupee symbol from somewhere (like from some soft-copy document which contains that) and paste it directly from there into your UILabel text.
As for now I don't know any other way apart from this as present keyboards dont have a Rupee symbol as yet. May be in future it would be having that :)
Hope this helps you
Go to
Edit -> Emoji & Symbols
In Xcode 7, the symbols location has been changed a bit from what has been suggested by Atul.
Go through the below SO post,
Localize Currency for iPhone
Edited:
you could also go with the approach of having rupee symbol as an UIImageView and show it before OR after a UILabel view.
Please see the reference code :
Have below in .h file...
UIView* iContainerView;
UIImageView* iRupeeSymbol;
UILabel* iAmountLabel;
And your .m file would be like below.
iRupeeSymbol= [[UIImageView alloc] initWithImage:myRupeeImage];
iAmountLabel.text = #"55555";
[iContainetView addSubview:iRupeeSymbol];
[iContainetView addSubview:iAmountLabel];
[self.view addSubview:iContainetView];
And set the appropriate frame value for all three views,

Unicode characters in string - iphone

I am working on a math app and need to output exponents to the screen.
I've found that this code will work:
NSLog(#"x\u2070 x\u00B9 x\u00B2 x\u00B3 x\u2074 x\u2075 x\u2076 x\u2077 x\u2078 x\u2079");
it displays: x⁰ x¹ x² x³ x⁴ x⁵ x⁶ x⁷ x⁸ x⁹
This also works:
NSString *testString = #"8.33x10\u00B3";
NSLog(#"test string: %#", testString);
it displays: test string: 8.33x10³
Even setting it to a label displays correctly on the iPhone screen:
NSString *testString = #"8.33x10\u00B3";
Answer1Label.text = testString;
However, when I pull the string from a .plist that says "8.33x10\u00B3" and display it on the screen, it just shows up as "8.33x10\u00B3" instead of 8.33x10³
Is there an additional character I need to put in front of the \u00B3 to get it to recognize?
Thanks for your help!
The \uXXXX is converted into unicode at compile time, so you wouldn't expect that to be magically converted by reading a .plist.
Try opening the the plist file in Xcode in "text mode" (right click your plist file, Open As -> Plan Text File), then edit the desired string to contain the special characters by using text of the form:
⁰
rather than the usual \u2070 you've been using in-code. Then if you save your plist, close it, and open it again by double clicking, you'll see the usual plist editor view and it will contain your special characters.
Alternatively, consider using OS X's character viewer (aka character palette) to input the text directly into the plist editor in Xcode. More info.

Use line breaks of retrieved NSString

I retrieve an NSString from a Property list and display it in a UILabel. The NSString already includes \n s, however the UILabel just displays them as text. How can I tell the UILabel to actually use the \n s as line breaks?
Everything you type into a plist in the plist editor is interpreted as plain text. Try it... put a ' into a field and right click -> view as "plain text" and you'll see it substitutes it for '. Therefore you can't put \n into a plist because it thinks you're just typing text and will treat it as such. Instead of putting \n into your plist use Alt+Enter to get your newline. If you view this as a text file now you'll see \ns printed and new lines acctually shown in the text file.
Now when you output it it won't display \n it will just give it a new line.
Plus, as has been mentioned UITextField is only one line anyway and you probably would benefit from using UITextView.
Well, first, you are going to need a string that you can modify. To accomplish that, you can simply do:
NSMutableString* correctedPath = [path mutableCopy];
At that point, you can use -insertString:atIndex: to insert any characters you need.
You're using the wrong class here.
UITextField doesn't (for all that I know) support multi-line input. For that, you will need a UITextView (it has editing enabled by default). It should interpret \n's without any problems. It also has a lineBreakMode property, if you want to make use of that.

How do I display a ‘second power of x’ in an UILabel?

I want to display "x2" (second power of "x") in a UILabel. How can I do it?
Thanks in advance!
There’s a Unicode character 0x00b2 (², superscript two) that should do the trick.
Actually, I've found the answer myself and it's really simple. In IB there's the "Special characters" menu, which contains lots of characters including second power of "x". Then you just click on the label, press cmd+1 and drag'n'drop the character into the "Text" field of the Inspector window.