在堆栈视图中显示子视图中的按钮

时间:2017-01-09 01:12:17

标签: ios swift facebook uiview

我正在尝试在UIView中显示facebook登录按钮,但遇到了一些问题。我有一个UIView,目前在stackview中,我认为这会导致一些问题。

此屏幕截图显示了UIView我正在尝试将按钮添加到:

enter image description here

这是FB按钮显示的位置: enter image description here

所以我有两个问题。我希望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

不相同

enter image description here

我还更新了上面的代码段以反映这一点。我尝试过调整大小,但遇到了问题。

当我设置矩形宽度/高度以使用fbLoginView的宽度和高度时,登录按钮的方式太大,即使clipsToBounds太大也是如此。当我尝试将按钮居中时,它会消失。

0 个答案:

没有答案