有没有办法在swift中创建新行,例如" \ n"对于java?
#include <QApplication>
#include <QDialog>
#include <QWidget>
#include <QGridLayout>
#include <QPushButton>
#include <QMainWindow>
#include <QBitmap>
class myMainWindow : public QMainWindow
{
public:
myMainWindow():QMainWindow()
{
setMask((new QPixmap("saturn.png"))->mask());
QPalette* palette = new QPalette();
palette->setBrush(QPalette::Background,QBrush(QPixmap("saturn.png")));
setPalette(*palette);
setWindowFlags(Qt::FramelessWindowHint);
QWidget *centralWidget = new QWidget(this);
QGridLayout *layout = new QGridLayout();
centralWidget->setLayout(layout);
QPushButton* button1 = new QPushButton("Button 1");
button1->setFixedSize(80,50);
layout->addWidget(button1,0,0);
setCentralWidget(centralWidget);
};
~myMainWindow();
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
myMainWindow *window = new myMainWindow();
window->resize(600, 316);
window->show();
return app.exec();
}
答案 0 :(得分:87)
你应该能够在Swift字符串中使用\n
,它应该按预期工作,创建一个换行符。您需要删除\n
之后的空格,以获得正确的格式,如下所示:
var example: String = "Hello World \nThis is a new line"
如果打印到控制台,应该成为:
Hello World
This is a new line
但是,根据您将如何使用此字符串,还有一些其他注意事项,例如:
\r\n
,即Windows换行符。编辑:您说您正在使用UITextField,但它不支持多行。您必须使用UITextView。
答案 1 :(得分:12)
也有用:
let dateString = TimeUtils.formatTimeOnly(from: data.date!)
let dateAttributes = [NSFontAttributeName: UIFont(name: "SourceSansPro-Regular", size: 11)!, NSForegroundColorAttributeName: UIColor.gray]
let dateMutableString = NSMutableAttributedString(string: "\n\(dateString)", attributes: dateAttributes)
答案 2 :(得分:8)
您可以使用以下代码;
var example: String = "Hello World \r\n This is a new line"
答案 3 :(得分:1)
您可以做到
textView.text = "Name: \(string1) \n" + "Phone Number: \(string2)"
输出将为
名称:string1的输出 电话号码:string2的输出
答案 4 :(得分:0)
"\n"
到处都不工作!例如,在电子邮件中,如果您在自定义键盘中使用它,则在文本中添加确切的“ \ n”而不是新行,例如:textDocumentProxy.insertText("\n")
还有其他newLine字符可用,但我不能只是将它们粘贴到此处(因为它们会换行)。
使用此扩展程序:
extension CharacterSet {
var allCharacters: [Character] {
var result: [Character] = []
for plane: UInt8 in 0...16 where self.hasMember(inPlane: plane) {
for unicode in UInt32(plane) << 16 ..< UInt32(plane + 1) << 16 {
if let uniChar = UnicodeScalar(unicode), self.contains(uniChar) {
result.append(Character(uniChar))
}
}
}
return result
}
}
您可以访问任何CharacterSet
中的所有字符。有一个名为newlines
的字符集。使用其中之一来满足您的要求:
let newlines = CharacterSet.newlines.allCharacters
for newLine in newlines {
print("Hello World \(newLine) This is a new line")
}
然后将您测试过并工作过的产品存储到任何地方,并在任何地方使用。 请注意,您无法中继字符集的索引。可能会改变。
但是大多数时候 "\n"
可以正常工作。