在 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:为啥我的子视图在滚动视图中出现大间距

iOS - 界面生成器 - 不继承父视图 alpha 的子视图

Android - 如何放置一个从 SD 卡或相机胶卷加载图像的图像视图?

视图设计问题:如何使滚动视图的子视图填充屏幕?

Facebook 登录按钮对齐 iOS

旋转视图和子视图