我正在尝试在UIView中显示facebook登录按钮,但遇到了一些问题。我有一个UIView,目前在stackview中,我认为这会导致一些问题。
此屏幕截图显示了UIView我正在尝试将按钮添加到:
所以我有两个问题。我希望FB登录按钮完全符合UIView的大小,并且也位于同一位置。
我有以下代码:
覆盖func viewDidLoad(){ super.viewDidLoad()
let fbLoginButton = FBSDKLoginButton()
let convertToSuperView = loginStackView.convert(fbLoginButton.frame, to: self.view)
fbLoginButton.frame = CGRect(x: fbLoginView.bounds.origin.x, y: fbLoginView.bounds.origin.y, width: convertToSuperView.width, height: convertToSuperView.height)
fbLoginButton.clipsToBounds = true
fbLoginView.addSubview(fbLoginButton)
}
从阅读文档中我得到的界限是获取屏幕上某些内容的点。我尝试将UIView的边界从stackView转换为父视图,然后给按钮提供与UIView相同的框架。
这显然不起作用,所以一些帮助会有所帮助。如果你能解释为什么这样的问题会帮助我解决今后这样的问题。
编辑:感谢来自@pierce的评论,通过将fbLoginButton作为子视图添加到fbLoginView,我看起来好一点。这里我还有一个问题,框架的大小与UIView
不相同我还更新了上面的代码段以反映这一点。我尝试过调整大小,但遇到了问题。
当我设置矩形宽度/高度以使用fbLoginView的宽度和高度时,登录按钮的方式太大,即使clipsToBounds太大也是如此。当我尝试将按钮居中时,它会消失。