0

次のコードを使用して文字列を表示しています。

[self.messageAreaLabel loadData:[self.alert.message dataUsingEncoding:NSUTF8StringEncoding]
                           MIMEType:@"text/rtf"
                   textEncodingName:@"utf-8"
                            baseURL:nil];

messageAreaLabel は、メッセージを表示しようとしている UIWebview です。表示する必要があるメッセージを返すサービスを呼び出します。

ただし、サービスは RTF を返すこともあれば、通常の文字列を返すこともあります。上記のコード行は、RTF に対してのみ機能します。通常のテキストはどのように処理すればよいですか?

[self.messageAreaLabel loadHTMLString:self.alert.message baseURL:nil]

上記の行を使用して、通常の文字列を表示できます。しかし、それは RTF では機能しません。

コードで両方のタイプの文字列を処理するにはどうすればよいですか? [self.alert.message]エンコーディング タイプを特定する方法が見つかりませんでした。

これは、iOS6 と iOS7 の両方で機能する必要があります。

4

1 に答える 1

1

あなたの問題はエンコーディングとは何の関係もありません。あなたがサービスと言うとき、私はあなたがウェブサービスについて話していると仮定しています. サービスから返された MIME タイプを保持し、それを webview に渡す必要があります。

于 2013-09-30T21:21:10.490 に答える