我有一个UITextView
,NSString
格式为stringWithUTF8String
。它从数据库获取它的值,我希望数据库中的文本在文本中呈现中断。我尝试使用\n
来执行此操作,但它会以文本形式呈现。在我的应用程序的信息页面中以直接文本的方式执行此操作,但我认为从数据库中取出它时不起作用的原因是因为格式化。
有什么建议吗?
答案 0 :(得分:87)
如果你想在Xcode5 / Xcode6故事板属性检查器(AI)中添加换行符,你可以这样做:
或者,CTRL + Return换个新行。
您现在可以在故事板中看到效果到输出/视图模式。
答案 1 :(得分:36)
扩展tc的答案:当你在字符串中有换行符时,你可能想要将它们转换为\n
(即Cocoa中的@"\\n"
)然后保存到数据库中,并在获取时从数据库中返回字符串BACK,您可能希望将它们转换回换行符。所以你使用这样的代码:
NSString *saveString = [myTextField.text stringByReplacingOccurrencesOfString: @"\n" withString: @"\\n"];
// save it to the db
// ... later ...
NSString *dbString = // get the string from the db.
myTextField.text = [dbString stringByReplacingOccurrencesOfString: @"\\n" withString: @"\n"];
答案 2 :(得分:22)
简单如下:
{
textView.text = @"January: 7th,21st,\n February: 4th,18th,\n March: 4th,18th,\n April: 1st, 15th, 29th, \n May: 13th, 27th, \n June: 10th,24th, \n July: 8th, 22nd, \n August: 5th, 19th, \n September: 2nd, 16th, 30th, \n October: 14th, 28th, \n November: 11th, 25th";
NSLog (@"Recycle Dates for Abbey Way");
}
将在textView或您选择的任何内容中按照以下方式进行推送
输出
1月:21日,21日,答案 3 :(得分:9)
在Swift中,只需添加" \ n"在两个字符串之间
示例:强>
let firstString = "Hello"
let secondString = "Senorita"
textview.text = firstString + "\n" + "secondString"
答案 4 :(得分:7)
我想,您应该尝试使用“\ r”。
我在Xcode 4.2.1,iOS 4.3上测试了它
编辑:这也适用于iOS 3.0和iOS 5.1
答案 5 :(得分:2)
UITextView将采用换行符,但它不适用于cariage返回。 您必须确保输入正确。
我在IB编辑器中尝试过,最初遇到了一些麻烦。 然后我使用文本编辑器,键入我的文本,然后将其粘贴到IB编辑器中。
对我而言,这就是诀窍。 你的来源来自一个数据库,所以我认为新线实际上是换行符,但是perhaphs回车或其他。检查输入的HEX字符串。
答案 6 :(得分:1)
设置(UIKeyboardType)keyboardType和(UIReturnKeyTYpe)returnKeyType
如果您正在构建代码。
如果您正在使用IB,那么只需转到第一个检查器面板并设置TextInputTraits
即可答案 7 :(得分:1)
当你从db。尝试
NSString *content = [mytext stringByReplacingOccurrencesOfString:@"\\n" withString:@"\n"];
self.textView.text = content;
答案 8 :(得分:0)
如果您从网上获取文本,请确保在/ n之前和之后放置一个空格 这解决了我的问题
例如(php):
echo $item_detail['item_title']." \n ";
答案 9 :(得分:0)
在字符串中附加一个字符(“ \ n”)
var logs = "this is first Line"
self.logs.append(Character("\n"))
self.textView.text = self.logs
答案 10 :(得分:-1)
扩展Olie的答案......在Swift中,从数据库更新字符串的代码是:
let dbString = // get the string from the db.
myTextField.text = dbString.stringByReplacingOccurrencesOfString("\\\\n", withString: "\n")
我花了一段时间才弄清楚,所以我想分享。
答案 11 :(得分:-2)
您正在数据库中保存文字“\ n”。尝试保存换行符。