ios - Storyboard] 如何先在 uiscrollview 上工作,然后再添加

标签 ios xcode storyboard

我需要创建一个长的 uiscrollview ,其中嵌入了一堆 subview 。
但是,当我将 uiscrollview 添加到 Controller 时,Storyboard 给我的工作区域太小。有没有办法先在 uiscrollview 上工作,然后使用 Storyboard 将其添加到 Controller 中?

就像本教程页面上的 #2(它不是 Storyboard版本):http://agilewarrior.wordpress.com/2012/05/18/uiscrollview-examples/

版本是 4.5.2。

谢谢!

最佳答案

使用 Storyboard,您无法将控件拖出场景,但您可以通过更改场景本身的模拟指标来实现您想要的效果。因此,选择 View Controller 本身并单击“属性检查器”,并将模拟大小度量更改为自由格式,如下所示:

enter image description here

然后单击该场景的主视图并为此打开“尺寸检查器”,并将尺寸更改为足以工作的尺寸:

enter image description here

您的 Storyboard看起来很奇怪,但您现在可以添加/更改您的 ScrollView ,使其足够大以显示您想要的所有内容。运行应用程序后(假设您已正确设置自动布局约束或非自动布局自动调整大小的蒙版),它将正常工作:

enter image description here

奇怪的是,我发现当不使用自动布局时,我必须以编程方式更改 contentSize但是,为了确保它对于所有控件都足够大:

- (void)adjustContentSizeForScrollView:(UIScrollView *)scrollView
{
    CGFloat height = 0.0;

    for (UIView *subview in scrollView.subviews)
    {
        CGFloat viewBottom = subview.frame.origin.y + subview.frame.size.height;
        if (viewBottom > height)
            height = viewBottom;
    }

    scrollView.contentSize = CGSizeMake(scrollView.contentSize.width, height);
}

关于ios - Storyboard] 如何先在 uiscrollview 上工作,然后再添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14325122/

相关文章:

ios - 为什么Today Widget在iOS 14上显示 'Unable to load'并且无法调试?

IOS 设备方向停留在纵向模式,没有横向

ios - 控制多个 View 的最佳实践是什么?

c# - Style 中的 Storyboard已完成事件?

iOS6 - 从 Apple 服务器下载的应用程序内购买

ios - AVFoundation 焦点动画使用 Core Animation

ios - 使用 UITableView 嵌入 UIScrollView

ios - 单击时 UILabel 点击手势不起作用

ios - 以编程方式打开 Storyboard 中的特定页面

ios - UIButton 在 collectionView 单元格中不起作用