【发布时间】:2025-12-04 05:55:01
【问题描述】:
我正在尝试以编程方式将 Google 登录和退出按钮居中。为了把他们俩都放在第三节。我在 Storyboard 中创建了 2 个视图,我想将按钮放在它们的中心。
GIDSignIn.sharedInstance()?.presentingViewController = self
GIDSignIn.sharedInstance().signIn()
let gSignIn = GIDSignInButton(frame: CGRect(x: 0, y: 0, width: loginView.frame.size.width, height: loginView.frame.size.height))
loginView.addSubview(gSignIn)
gSignIn.center = loginView.center
let gSignOut = UIButton(frame: CGRect(x: 0, y: 0, width: signOutView.frame.size.width, height: signOutView.frame.size.height))
gSignOut.backgroundColor = UIColor.white.withAlphaComponent(0)
gSignOut.setTitle("Sign Out", for: .normal)
gSignOut.setTitleColor(UIColor.red, for: .normal)
gSignOut.addTarget(self, action: #selector(self.signOut(_:)), for: .touchUpInside)
gSignOut.center = signOutView.center
self.signOutView.addSubview(gSignOut)
如您所见,我也在尝试根据视图大小调整按钮大小,这有助于我根据设备大小调整按钮大小。
这是我故事板的后半部分。
这是我运行代码时的模拟器屏幕。
谢谢。
【问题讨论】:
-
您能解释一下您是如何定义 loginView 和 signOutView 的吗
-
使用自动布局代替设置矩形
标签: swift button layout google-signin centering