Ios 导航标题与副标题重叠

Ios 导航标题与副标题重叠,ios,swift,uinavigationcontroller,uinavigationbar,uinavigationitem,Ios,Swift,Uinavigationcontroller,Uinavigationbar,Uinavigationitem,我有一个带有rightButtonItem的导航栏和另一个带有right&leftButtonItem的导航栏 我练习尝试使用字幕导航栏,但当我将标题和字幕字符串设置为长时。它将重叠,并且字符串将被截断。 如何解决此问题 您可以尝试使用一个标签和两条线,而不是创建另一个标签,这样它们就不会重叠。使用此代码 label.numberOfLines = 2 设置文本时,请在字符串中使用\n指示下一行,如下所示 label.text= "Main title\nSub title" 如果您希望

我有一个带有rightButtonItem的导航栏和另一个带有right&leftButtonItem的导航栏
我练习尝试使用字幕导航栏,但当我将标题和字幕字符串设置为长时。
它将重叠,并且字符串将被截断。
如何解决此问题




您可以尝试使用一个标签和两条线,而不是创建另一个标签,这样它们就不会重叠。使用此代码

label.numberOfLines = 2
设置文本时,请在字符串中使用\n指示下一行,如下所示

label.text= "Main title\nSub title"

如果您希望两个标题使用不同的字体,请尝试使用属性字符串,如代码的这一部分中需要的一点编辑:

if widthDiff > 0 {
    var frame = titleLabel.frame
    frame.origin.x = widthDiff / 2
    titleLabel.frame = frame.integral
} else {
    var frame = subtitleLabel.frame
    frame.origin.x = abs(widthDiff) / 2

    // this should be *subtitleLabel*
    //titleLabel.frame = frame.integral
    subtitleLabel.frame = frame.integral

}

谢谢你的回答帮助我。
if widthDiff > 0 {
    var frame = titleLabel.frame
    frame.origin.x = widthDiff / 2
    titleLabel.frame = frame.integral
} else {
    var frame = subtitleLabel.frame
    frame.origin.x = abs(widthDiff) / 2

    // this should be *subtitleLabel*
    //titleLabel.frame = frame.integral
    subtitleLabel.frame = frame.integral

}