gpt4 book ai didi

ios - 使用 Swift 的 NSLocalization + Storyboard

转载 作者:行者123 更新时间:2023-11-29 02:30:16 26 4
gpt4 key购买 nike

所以这很奇怪:

我在 Storyboard中创建了一个小的 UIView,更改了它的颜色以便我们可以看到它。我还创建了一个按钮,这样我就可以放大这个 View 。

会发生什么,它只在我不访问 NSLocalizedString 时才有效。如果我取消注释该行,它将停止工作。

这是为什么?

class MasterViewController: UIViewController {

@IBOutlet weak var bar: UIView!
@IBOutlet weak var button: UIButton!

var integer : Int = 0

@IBAction func makeBarGrow(sender : AnyObject) {
self.integer++
//self.button.setTitle(NSLocalizedString("test \(integer)", comment : "test"), forState:UIControlState.Normal)
self.bar.frame = CGRectMake(self.bar.frame.origin.x,
self.bar.frame.origin.y,
self.bar.frame.size.width + 10,
self.bar.frame.size.height)
}
}

谢谢

最佳答案

当您在按钮上设置标签时,自动布局将运行并将栏的框架设置回其初始值。启用自动布局后,您不应调整框架大小。相反,您应该使用如下所示的大小约束:

  1. 在栏上添加自动布局约束以设置其宽度。为此,请在Interface Builder中选择您的栏 View ,然后单击“自动布局图钉”图标|-[]-|,单击宽度旁边的框,并将常量设置为您想要的初始值。然后点击底部的添加 1 个约束

  2. 通过将Control文档布局 View 中的约束拖动到您的代码,将 IBOutlet 添加到 ViewController 中的此约束:

    @IBOutlet weak var barWidth: NSLayoutConstraint!
  3. makeBarGrow中,将frame调整代码替换为:

    barWidth.constant += 10

关于ios - 使用 Swift 的 NSLocalization + Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26986081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com