我是 swift 和 Xcode 的新手,所以可能有一个简单的答案或更好的方法来做到这一点。我正在尝试为所有尺寸的 iOS 设备中的按钮制作圆角边缘,到目前为止我发现的最佳方法是使用此方法:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
for i in 0..<buttons.count {
self.buttons[i].layer.cornerRadius = self.buttons[i].bounds.size.height / 2
}
examResultsBackButtonOutlet.layer.cornerRadius = examResultsBackButtonOutlet.bounds.size.height / 2
}
// Build UI
func loadUI() {
// Round the edges, change color background, font
titleOutlet.mainMenuStyle("", 75, earthGreenWithAlpha)
for i in 0..<buttons.count {
buttons[i].mainMenuStyle("", 40)
}
print("Main Menu successful load")
}
我在我的 viewDidLoad 方法中调用 loadUI() 方法来说明它的价值:
//MARK: viewDidLoad()
override func viewDidLoad() {
super.viewDidLoad()
// Load the UI
loadUI()
loadExamResultsView()
mainMenu()
examResultsStackView.isHidden = true
loadStoredScores()
loadStoredSettings()
}
问题不是在我第一次启动应用程序时出现(这是第一个场景/视图控制器),而是当我从第二个视图控制器回到这个场景时出现问题。
发生的情况是按钮被格式化了大约半秒钟,然后它们被完美地重新格式化:
您会注意到第二张图像(仅出现约 0.5 秒)具有更强烈的角半径。
我怎样才能防止这种情况发生,以便用户只看到每个按钮的完美圆角半径而不是可怜的 janky 按钮?
谢谢!