在 UIlabel 中查找特定字符?

Find specific characters in UIlabel?

我目前遇到一个关于在 UILabel 中查找特定字符的小问题。我尝试了简单的

  if variable == "the string you want it to equal" {

     //Do the thing you want

  }

问题是我的 UIlabel 根据时间更新。这通常不会有问题,但我旁边还有一个较小的标签作为秒数。

在主时间标签达到两位数 10、11、12 之前,这一切正常。这会导致标签扩展并切断较小的秒标签。我知道我可以将较小的标签放在主标签不会切割它的地方,但设计不会那么好。

我也尝试将变量设置为布尔值

let time10 = "10"

let time11 = "11"

let time12 = "12"

现在这将需要我创建许多其他变量,例如“10:01,10:02”,这将是非常低效的。

swift 中的功能是否有可能在字符串中查找特定数量的字符(在本例中为前 2 个字符),如果条件是,让我写下我想做的事情认识?

每次更新标签值时尝试使用 label.sizeToFit。希望它能解决这个问题。

要回答您原来的问题,您可以使用计数函数,例如您可以 count(string),如 this 答案中所述。

尝试使用 .minimumScaleFactor 和自动布局优先级。 第一个会让一个标签缩小字体大小以避免 ....

使用自动布局优先级,您可以使标签缩小而不管另一个标签。

如果您使用的是 Interface Builder,应该会更容易。

希望对您有所帮助