在 iOS 的子视图中放置 Facebook SDK 按钮
Posted
技术标签:
【中文标题】在 iOS 的子视图中放置 Facebook SDK 按钮【英文标题】:Placing a Facebook SDK button in a subview in iOS 【发布时间】:2016-05-16 19:43:07 【问题描述】:我想在我的主视图的子视图中放置一个 Facebook 分享按钮(可能是点赞或发送按钮),该按钮显示在屏幕的底部四分之一处。子视图看起来很好,并且大到足以按住按钮 - 请参见下面屏幕截图中的红色部分。但由于某种原因,该按钮出现在屏幕的左上角,偏移量为 -70,-452。就好像按钮处理代码决定在左上角渲染按钮,而不管它是在哪里渲染的。
关于如何将它移动到我需要它的任何想法?
这是我用来调出按钮的代码:
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
content.contentURL = [NSURL URLWithString:@"xxx"];
FBSDKShareButton *button = [[FBSDKShareButton alloc] init];
button.shareContent = content;
[self.shareContainer addSubview:button];
。
【问题讨论】:
【参考方案1】:你应该试试这个 button.center = self.shareContainer.center。 您基本上试图将按钮的中心设置为其容器的中心。
【讨论】:
我实际上已经尝试过了,但它并没有改变任何东西,所以我把它从粘贴的代码中删除了。 添加子视图后是否尝试这样做?【参考方案2】:我发现了问题。我的 Facebook 代码在 viewDidLoad
中——这意味着在执行它时自动布局还没有生效,并且容器视图还没有在屏幕上找到它的位置。解决方案是将相同的代码放在 viewDidLayoutSubviews 中。
【讨论】:
以上是关于在 iOS 的子视图中放置 Facebook SDK 按钮的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 界面生成器 - 不继承父视图 alpha 的子视图