嗨,我不知道我應該怎麼加載RTF或文本文件導入的UITextView我使用一些代碼,但我以前不工作,負載RTF或文本文件導入UITextView的iPhone SDK的
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"txt"];
myTextView.text = filePath;
謝謝。
嗨,我不知道我應該怎麼加載RTF或文本文件導入的UITextView我使用一些代碼,但我以前不工作,負載RTF或文本文件導入UITextView的iPhone SDK的
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"txt"];
myTextView.text = filePath;
謝謝。
你可以試試這個:
NSString *myText = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
myTextView.text = myText;
到目前爲止,你所做的事將讓你的文件的名稱,您需要進一步走一步,實際上讀取該文件的內容爲NSString,使用類似:
NSError *err = nil;
NSString *fileContents = [NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:&err];
if (fileContents == nil) {
NSLog("Error reading %@: %@", filePath, err);
} else {
myTextView.text = fileContents;
}
這將工作爲純文本(假設您的文件是UTF8編碼);你必須爲RTF做更多的事情(UITextView不知道如何顯示RTF)。
謝謝你不工作,你會看到編輯過的文章嗎? – 2010-10-05 17:00:56
如果它不工作,也許你應該檢查錯誤狀態(而不是通過傳遞'nil'忽略它)。 – 2010-10-05 18:03:11
myTextView.attributedText =
[ NSAttributedString.alloc
initWithFileURL:[ NSBundle.mainBundle URLForResource:@"filename" withExtension:@"rtf" ]
options:nil
documentAttributes:nil
error:nullptr
];
格式有點奇怪,但它適用於加載富文本文件並設置「UITextView」的'屬性文字'屬性。 – Dalmazio 2014-07-29 08:15:25
這是行得通的,但作爲一個例子,它會促進不良行爲。使用點語法來調用'alloc'最多是令人困惑的,而最壞的情況是濫用點語法。不遵循標準多行參數對齊約定會導致難以閱讀。 – SwampThingTom 2015-08-20 23:47:44
是否值得降低我的聲譽?你教條主義者。 – Satachito 2015-08-21 22:21:04
@interface
線下面的AppDelegate.m文件。我的是@interface AppDelegate()
。三次點擊的原因是因爲在默認情況下,當您在窗口上拖動TextView控件時,它會創建3個控件,它只是內部的,設置爲NSTextView的內部控件。其他控件處理滾動和屏幕裁剪。然後,選擇創建一個插座並將其命名爲txtRich
或任何您想要的。這創造了這個條目我在我的情況:@property (unsafe_unretained) IBOutlet NSTextView *txtRich;
applicationDidFinishLaunching
的AppDelegate.m中做過我的工作。這裏面,貼這樣的:NSBundle *myBundle = [NSBundle mainBundle];
NSString *sFile= [myBundle pathForResource:@"myrichfile" ofType:@"rtfd"];
[self.txtRich readRTFDFromFile:sFile];
你可能會想知道這mainBundle
來自,如果你有什麼地方申報。答案是不。這是驚人的魔法,默認情況下創建,就像NSNotificationCenter defaultCenter
變量。它指的是你自己的應用程序包。
謝謝你不行,請你看看編輯過的帖子? – 2010-10-05 16:54:00
等一下,你的textView是什麼,你的文本是什麼,看起來你的變量名有問題。你可以從'[NSString stringWithContentsOfFile ...]''獲得後打印出NSString。我想看看結果 – vodkhang 2010-10-05 16:56:05
myText是'UITextView'和'myTextView'只是一個名字,我的文件是一個UTF8編碼的txt文件。 – 2010-10-05 17:06:26