How to display email body on iOS - ios

I'm developing an email app on iOS. I want to create a view that can display email. My problem is that an email body may be plain text or HTML(sometimes with CSS), so I can't find a proper UI component for such content. I tried UIWebView, but when the content is plain text, the line breaks are ignored!
How about convert the plain text to HTML? Or just use UITextView to display content which is plain text?
So, do you have any suggestions?
Update:
To addition, many HTML contents contain images most of which are just urls. If I use a text based view how can I display the images? Is there any library support such features?

You should use UIWebView and convert the linebreaks to br tags, like this:
HtmlText = [dataString stringByReplacingOccurrencesOfString:#"\n" withString:#"<br/>"];

Use third party textView - A rich text view for iOS with basic HTML rendering. follow bctextview link.

Related

Rich Text Editor for iOS

My users have asked if I can add a Rich Text type editor to my app. The field that they want this added to is a UITextView.
Obviously, they also will want to see the text displayed as they've entered it.
Any suggestions for how to implement this is greatly appreciated.
There are 2 approaches - a UiTexView can handle most Rich Text Editor stuff not including lists.
The 2nd way is a WebView and some html / JavaScript.
A WebView might be the best approach but be careful - some of the WebView based solutions out there were rejected from the AppStore since they use private methods of the WebView - that is not allowed by Apple.

UITextView attributed text issue with HTML tag Videos and tables

UITextView in iOS 7. I used attributed text to support HTML tags.
But it crashes, when I tried to embed Videos (using iFrame) and the HTML tables are also not supported.

iOS sharing images with text in messages like Emoji

The goal is to be able to insert images with text when sharing text into an SMS Message from the App as well as in e-mails. Like it is in the picture below. When I try to share images with the UIActivityViewController the images appear on the next line and not next to the text. Is it possible to embed images in text and e-mail like the built in Emoji text?
The contents of text messages are just that, text (that is, a sequence of Unicode code points.) The emoji images you see in the screenshot come from a system font installed on all iOS devices, and are represented in the text as unicode code points, just like the other regular letters in the same message.
If you want to embed custom images into text fields in your app, you can create a custom font that includes the desired graphics (for some code points in the Unicode private use area,) include the font in your app as an asset, configure your text fields to use that font, and then provide some UI for the user to type those code points in.
But remember that this will only work on devices that have your custom font installed, and in apps that choose to use that custom font to display the text — so essentially only in your own app. So for example if you'd send the text in an email or iMessage/SMS to another device, your custom graphics would not work unless a) the receiving device has your custom font installed system-wide, and b) the app displaying the text resolves the Unicode private use area code points you chose to use for your images to this custom font of yours.
If you only want to embed images into text fields within your own app, on iOS 7 and later you can use the text attachments feature that TextKit supports.

How to make niceditor readonly?

I have some textareas in my page. I converted all into niceeditor with the option provided. I will save the content of the niceditor into my database. While i am retrieving, i will get the html tagged data. I am showing the text in my page.
So to show the rich text of what i enter. I should make niceditor. So that i could show the rich text. And also it should be readonly.
Please guide me to make niceditor readonly or guide me to show the rich text without editing option through some way.
my textarea name is 'area3'.
thanks
Why not use div instead of textarea? Nicedit supports convert divs too , You can toggle nicedit on or off.

Special characters not displaying, sifr r436

I followed the explanation on the sIFR wiki, but can't seem to get accented characters to display in my Flash movie. I opened up the Character Embedding palette, pasted "ÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ" into the "Include these characters" field after the ampersand, hit "OK", then re-exported the .SWF.
The characters still don't render in my sIFR file--any suggestions? I'm running r436.
have you tried checking the 'Basic Latin' or 'Latin I' boxes (just for sanity check?)
I've just looked through mine and I use 'Latin I'.
could be that the encoding between the webpage/javascript and flash isn't picking up the special chars - have you debugged your javascript to see what's being passed in?
[edit] what is the webpage encoding set to?[/edit]
Perhaps the font you're using just doesn't include those characters? Frequently, fonts will support just ascii.
As jeremy said, the major issue i've seen with sifr and charecters is that special charecters aren't part of the font you are using.
One way to test is run your current method with another standard font such as arial, if it works then it's probably down to your font.
What font is it?
Secondly when making the font glyphs inside flash you have to change the settings to include any foreign characters to insure they are within the font flash movie. most none standard characters are removed as it keeps the file size of the swf font file down.
Unicode escape sequences?
or maybe check a url encode chart
when you view the generated source (below) you'll see that the chars are being encoded by javascript...
content=This%2520is%2520an%2520embedding%2520test%253A%253Cbr%253E%25C3%25C4%25C5%25C6%25C7%25C8%25C9%25CA%25CB%25CC%25CD%25CE%25CF
can you switch on HTML on the text field to see if they show up?
Checking Latin I was mentioned, what about Latin Extended A, Extended B and Add'l? Cmd+clicking Punctuation, Basic Latin, plus all of the other Latin options may get you your missing characters.
I suspect its a problem with Flash. If I go to your example page (http://unstoppablerobotninja.com/demos/sifr-encode/), right-click on the Flash movie, and copy to the clipboard, this is the output:
This is an embedding test:
ÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
Did it work?
Which to me indicates that the characters are ending up just fine in the Flash movie, but they're not being rendered.
Can Flash render these characters if you use static publishing for some other Flash movie?
I have the same problem with a dynamic text field not rendering special characters, despite the field being set up correctly and the specific characters required being embedded in the field.
I noticed that HTML source text which is formatted to appear as Bold (i.e. using tags) creates this problem - the same text without Bold results in the special chars being rendered correctly (although obviously not in Bold :)
I tried various things including using the unicode reference and exporting the Bold variant of the font (Verdana) but nothing helps, so I think it's a Flash bug.
Of course, knowing this doesn't solve the problem if you need to use a Bold font, like I do - I'm still looking for solutions and will post back if I find something.
Good luck ;)
Solving the Bold issue is easy. Special characters not appearing is another problem entirely and one in which we are encountering currently.
Here's the deal with bold (and italic):
If you use bold or italic tags in the HTML, Flash has not necessarily embedded the bold and italic version of the font. What you have to do is create some hidden dynamic text fields that have the bold and italic versions of the font embedded. These hidden text fields can be placed in a frame past the end of the timeline so that they don't appear at runtime.
A related problem is when you click the B (for bold) in the properties panel and insert HTML text into the textfield without a <b> tag. Flash will embed the bold font into the SWF, but if you don't insert the <b> tag in your text, Flash will render it with a non-bold font (which won't appear because it wasn't embedded).
Unfortunately, we have a situation where a dynamic text field was created with one font, and if we change it to any other font, it doesn't render. Special characters, such as the ® symbol, don't render, even though they are embedded in the font.
This is with Flash CS3 and AS2.

Resources