我的 UIScrollView 不适用于 ios6 中的自动布局

2023-12-05

我已将 UIViewController 中的 UIScrollView 放入故事板中。当我使用这段代码时:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [_scrollview setContentSize:CGSizeMake(_scrollview.bounds.size.width*2, _scrollview.bounds.size.height)];
    [_scrollview setPagingEnabled:YES];

    CGRect rect = _scrollview.bounds;

    UIView* view = [[UIView alloc]initWithFrame:rect];
    [view setBackgroundColor:[UIColor redColor]];
    [_scrollview addSubview:view];

    rect = CGRectOffset(rect, _scrollview.bounds.size.width, 0);
    view = [[UIView alloc]initWithFrame:rect];
    view.backgroundColor = [UIColor greenColor];
    [_scrollview addSubview:view];

}

它在没有自动布局的情况下工作正常,但是当我启用时,“矩形”值等于 0。自动布局的等效代码是什么?


似乎您在自动布局环境中缺少一些有关 UIScrollView 的基本内容。仔细读iOS 6.0 发行说明

您的代码应如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGRect selfBounds = self.view.bounds;
    CGFloat width = CGRectGetWidth(self.view.bounds);
    CGFloat height = CGRectGetHeight(self.view.bounds);
    [_scrollview setPagingEnabled:YES];

    UIView* view1 = [[UIView alloc] initWithFrame:selfBounds];
    [view1 setTranslatesAutoresizingMaskIntoConstraints:NO];
    [view1 setBackgroundColor:[UIColor redColor]];
    [_scrollview addSubview:view1];

    UIView* view2 = [[UIView alloc]initWithFrame:CGRectOffset(selfBounds, width, 0)];
    [view2 setTranslatesAutoresizingMaskIntoConstraints:NO];
    view2.backgroundColor = [UIColor greenColor];
    [_scrollview addSubview:view2];

    [_scrollview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[view1(width)][view2(width)]|" options:0 metrics:@{@"width":@(width)} views:NSDictionaryOfVariableBindings(view1,view2)]];
    [_scrollview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view1(height)]|" options:0 metrics:@{@"height":@(height)} views:NSDictionaryOfVariableBindings(view1)]];
    [_scrollview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view2(height)]|" options:0 metrics:@{@"height":@(height)} views:NSDictionaryOfVariableBindings(view2)]];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 UIScrollView 不适用于 ios6 中的自动布局 的相关文章

随机推荐

  • SQL - 将所有用户合并到一张表中

    表 热门 UserName FriendName John Sarah Philip Ursula John Marry John Jeremy Philip Brock Khan Lemy 我想要带有查询的列表 John Philip K
  • 黑莓 - 裁剪图像

    我想裁剪图像的一部分 为此我使用以下代码 int x 20 int y 50 int rgbdata new int 0 width x height y image getWidth image getARGB rgbdata 0 ima
  • 如何在 C# 中执行按住 ALT+TAB 发送键事件

    我正在尝试使用按住 ALT 键然后按 TAB 键的 sendkey 事件 你如何执行这个动作 我尝试了很多变体 但我似乎找不到答案 谢谢 在经历了MSDN 文档页面我想出了这个 它似乎对我来说效果很好 SendKeys Send Tab
  • 从 fortran 调用 c++ sub 时运行时中止

    我在这里读过很多关于混合语言使用 Fortran 和 C 的文章 然而 我仍然遇到当前的问题 我的 Fortran 程序总是中止 我有 Fortran 程序 test cc f90 和 C 程序 deb cc cc deb cc cc 包含
  • Jenkins 中的失败管道

    我使用 Jenkins 为我的 Node js 应用程序创建了 CI 管道 我的管道包括构建 单元测试 集成测试 代码分析等作业 我想知道是否有可能使构建失败 例如通过实施像 z 失败的测试数量或通过率 您的单元测试脚本需要处理数学和逻辑
  • 是否有一种可实施(非理论)的方法来证明电子邮件地址是否属于真实的电子邮件帐户?

    有没有办法证明某个电子邮件地址是 真实的 因此属于真正存在的电子邮件帐户 我通过电子邮件获得了大量注册 根据电子邮件模式定义这些注册是有效的 但实际上并不存在 发送到假邮件地址需要花费很多钱 因为我们 和其他人 按每封邮件付费 100 00
  • 如何在 docker-compose 中传递参数?

    Docker 1 9 允许将参数传递给 dockerfile 参见链接 https docs docker com engine reference builder arg 如何在 docker compose yml 中传递相同的参数 如
  • 每个活动底部的通用按钮或选项卡

    我想在每个屏幕 活动的底部放置一些快捷方式或按钮 我知道我们可以通过使用框架布局 相对布局 选项卡小部件等来做到这一点 既然我的每个活动都需要它 我是否需要一次又一次地为每个活动和按钮操作编写 XML 布局 是否可以引用按钮单击等的布局和操
  • 如何更改 NetBeans 中 HAML 标签的颜色?

    我在 NetBeans 6 8 中使用 Aloha 主题 除了 HAML 文件中的这些蓝色标签不可读之外 一切看起来都很酷 如何找到可以改变这种蓝色的地方 附 我使用的 HAML 插件似乎不受支持且缺乏功能 截屏 http img lepr
  • WebGL 深度纹理全白?

    我使用 chrome 中的 WEBGL depth texture 将场景渲染到具有颜色和深度纹理的帧缓冲区 当我显示我的颜色纹理时效果很好 但我的深度纹理是全白色的 不应该是灰色的吗 我的绘制纹理函数 this drawTexture f
  • unix 中的测试命令不打印输出

    为什么命令没有输出test 3 lt 6在unix终端上 测试不应该输出 0 或 1 吗 我做了一个男人测试 它说 退出并以 EXPRESSION 确定的状态退出 退出状态不会打印出来 只是返回 你可以测试一下if or while 例如
  • 时间:2019-03-17 标签:c#castingwithisandas

    我需要一些帮助 这很容易 我有这段代码 我想讨论一下它是否正确 或者您是否建议更好的方法 我对答案有一个想法 但我想看看你的答案 就这样 if myObject is ClassA var myObjectA myObject as Cla
  • LINQ to SQL 执行时间比 SSMS SQL 长 50 倍

    我有一个使用 Linq to SQL 的 asp net 应用程序 应用程序的一项查询超时 执行时间超过 30 秒 我增加了 DataContext 的 CommandTimeout 它确实在 45 秒内完成 我将 Linq to SQL
  • 在 Android Studio 中选择项目模板后不显示语言选项

    Android Studio 中的 新建项目 向导未显示 语言 选项 我想使用 Java 但它迫使我使用 Kotlin 我希望使用 Java 进行 Android 开发 如何制作 Java 项目 您已选择了一个Jetpack 组合项目模板
  • 如何让 java 日志输出显示在一行上?

    目前 默认条目如下所示 Oct 12 2008 9 45 18 AM myClassInfoHere INFO MyLogMessageHere 我怎样才能让它做到这一点 Oct 12 2008 9 45 18 AM myClassInfo
  • 如何让 BaseAdapter 显示 AlertDialog android 应用程序

    如何使 listView 中的 BaseAdapter 中的按钮显示alertDialog 我尝试过 但它意外停止工作 运行时错误 我的代码如下所示 任何建议 提前致谢 莫内拉 更新后 import java util List impor
  • 使用 JSON 数据

    我正在尝试用 C 语言制作一个简单的 twitter 客户端 我对此很陌生 不知道如何从 API 获得的 JSON 字符串中分离出有意义的内容 例如 如果我得到this作为 API 的响应 如何将 text 的值提取到字符串 char 中
  • API网关+Lambda+VPC超时问题

    早上好 您能帮我们解决下一个问题吗 我有一个 API 网关 Java Lambda 处理程序 这个 Lambda 使用 httpconnection 来获取一些互联网 REST API 当我们在没有 VPC 的情况下使用这个 Lambda
  • 如何使用python启动交互式shell程序?

    我已经使用 python subprocess 和 os 模块一段时间了 现在我想从Python 启动一个名为dumbCalculator 的交互式C 程序 这个哑计算器只是读取我的输入并返回其结果 当我输入 1 2 时 它返回 3 如何使
  • 我的 UIScrollView 不适用于 ios6 中的自动布局

    我已将 UIViewController 中的 UIScrollView 放入故事板中 当我使用这段代码时 void viewDidLoad super viewDidLoad scrollview setContentSize CGSiz