iOS 自动布局 - 如何设置视图之间的两个不同距离,取决于屏幕高度

2023-11-24

我知道我错过了一些东西,因为这必须是很容易实现的东西。

我的问题是,我的“加载屏幕”(启动后立即出现的屏幕)中有一个 UIImageView,其中包含 3.5 英寸和 4 英寸尺寸屏幕的两个不同图像。在该图像的某个位置,我放置了一个 UIActivityIndi​​cator,以告诉用户应用程序正在后台加载某些内容。两个图像的那个位置不一样,因为其中一个明显高于另一个,所以我想设置一个自动布局约束,允许我将该活动指示器放置在不同的高度,具体取决于应用程序是否在iPhone 5 与否。

如果没有自动布局,我会将视图的frame.origin.y设置为300(例如),然后在ViewController的viewDidLoad方法中,我会询问应用程序是否在iPhone 5中运行,所以我' d 将值更改为例如 350。我不知道如何使用自动布局来执行此操作,我认为它必须非常简单。


您可以创建一个NSLayoutConstraint视图控制器上的插座并将插座连接到 xib 或故事板中活动指示器的 Y 约束。然后,添加一个updateViewContraints方法到您的视图控制器并根据屏幕尺寸更新约束的常量。

connecting constraint to outlet

这是一个例子updateViewConstraints:

- (void)updateViewConstraints {
    [super updateViewConstraints];
    self.activityIndicatorYConstraint.constant =
        [UIScreen mainScreen].bounds.size.height > 480.0f ? 200 : 100;
}

当然,您需要输入适当的值而不是200 and 100。您可能想要定义一些命名常量。另外,别忘了打电话[super updateViewConstraints].

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 自动布局 - 如何设置视图之间的两个不同距离,取决于屏幕高度 的相关文章

随机推荐

  • 为什么在字符指针上使用 strcat 会崩溃? [复制]

    这个问题在这里已经有答案了 为什么这段代码会崩溃 正在使用strcat字符指针非法 include
  • 更新 iframe、历史记录和 URL。然后使其与后退按钮一起使用

    当点击浏览器上的后退按钮时 我在更新 URL 时遇到问题 我正在 Firefox 上进行测试 更新我使用的 iframe 的 src 属性后replaceState更新历史记录 如果我在此之后点击后退按钮 iframe 将返回到上一页 但
  • opencart php自定义页面不使用“信息”功能

    我想在 opencart 中创建一个自定义页面 我知道我可以使用管理区域在信息部分放置一个自定义页面 但是我想要的是一个指向其他几个页面的控制器 我不完全明白如何做到这一点 在 codeigniter 中 您将创建一个控制器和一个视图 如果
  • Python:更改 Windows 7 主音量

    我希望能够在 Python 中控制主音量 不是针对应用程序 而是针对当前活动扬声器 这似乎是一个棘手的话题 我尝试用 C 来做 但我什至无法让它在那里工作 有办法做到这一点吗 Windows 7 x64 请注意 这个问题之前没有得到回答 因
  • Camera2 API 自动对焦与三星 S5

    我正在 Samsung S5 上使用新的 Camera2 API 该设备报告的支持的硬件级别是LEGACY 这很好 但是 我似乎无法自动对焦该设备 触发自动对焦的请求如下所示 previewRequestBuilder set Captur
  • 拒绝使用ajax调用Rest服务器设置不安全标头“Cookie”

    我正忙于构建一个与我的 Drupal Rest 服务器 模块 服务 连接的 Phonegap 应用程序 我的 Drupal 网站 PHP 的代码为 header Access Control Allow Origin 当我尝试使用以下代码连
  • cxf + wss4j + maven NoSuchMethod 错误

    尝试使用maven使用cxf wss4j 创建服务和客户端 没有任何编译问题 该服务在tomcat中运行良好 Issue 当我运行客户端代码时 我得到 java lang NoSuchMethodError org apache xml s
  • Apache Oltu Linkedin 集成示例

    我期待着开发Spring MVC Apache Oltu Linkedin集成示例 在此示例中 您需要发送客户端 ID 和客户端密钥才能从链接站点访问私有资源 第一步 我们需要在 Linkedin 中创建应用程序 请按照以下步骤操作 htt
  • laravel“解析错误:语法错误,意外的'const'(T_CONST),期望变量(T_VARIABLE)”

    我将我的 laravel 项目从本地移动到共享主机 但 laravel 给出了这个错误 Parse error syntax error unexpected const T CONST expecting variable T VARIA
  • 如何在 Laravel 4 中创建自定义 Facade

    查找了一些关于 Facades 和 Laravel 4 的教程 尝试了一些 不喜欢它们的工作方式 例如 它们并不都提供一种定义在哪里存储外观文件和服务提供者的方法 我试图摆脱这一点 但我的头撞到了几堵墙 直到我决定做这个线程 所以 假设我有
  • WinSCP .NET 程序集:在哪里定义代理?

    我可以使用 WinSCP GUI 定义代理服务器 如果我这样做 我就可以连接到远程主机 但在代码中我没有找到为 WinSCP 声明代理服务器的方法 在这种情况下我收到 远程服务器返回错误 407 需要代理身份验证 My code Sessi
  • 将 csv 文件转换为 PHP 二维数组

    我是 PHP 新手 一直在努力将 CSV 文件读入二维数组 我使用以下文件 csv team csv ID Nickname Shirtnumber Position 1 Jimmy 0 RightBack 2 Mark 3 CentreB
  • Hibernate/JPA - 访问 SingularAttribute 参数时出现 NullPointerException

    我正在尝试将 JPA2 类型安全标准查询与 Hibernate 5 0 7 Final 一起使用 criteria where builder equal root get SingularAttribute attr value wher
  • 如果没有指定目标,“make”应用程序如何知道要构建的默认目标?

    大多数 Linux 应用程序都是通过以下方式编译的 make make install clean 据我了解 make命令将构建目标的名称作为参数 例如install通常是将一些文件复制到标准位置的目标 并且clean是删除临时文件的目标
  • 在表单中搜索具有多个字段的 MySQL 数据库

    我创建了一个表单 用户可以在其中搜索数据库 结果取决于用户如何填写表单 例如 假设我有姓名 地 址 城市 州和邮政编码字段 并且用户填写了姓名和城市字段 结果会反映输入 当表单提交时 所有记录都会显示 为此我写了这个 if isset PO
  • JAVA:正确访问静态方法

    我是JAVA新手 我喜欢尝试并理解一切 在JAVA中访问静态方法 hero returnHp 时 我有以下内容 hero Mike new hero Mike returnHp 程序运行良好 但我注意到 Eclipse 有一条警告 指出 英
  • 如何在java中在windows和IANA时区之间进行转换

    我需要在 IANA 时区和 Windows 时区之间进行转换 反之亦然 还有一个问题被报道 如何在 Windows 时区和 IANA 时区之间进行转换 它指定Noda时间库可以在 Net中使用 我们有可以在 Java 中使用的库吗 或者ja
  • vim 中的条件正则表达式?

    是否可以执行条件正则表达式 就像中描述的那样 http www regular expressions info conditional html 在 Vim 中 Vim 正则表达式没有此功能 因此您需要使用一些重复来创建相同的行为 con
  • iPhone 本地化 - 获取手机的语言代码?

    我正在将我的 iPhone 应用程序本地化为多种语言 除了更改一些字符串之外 我还需要更改一些背景 是否可以查询iPhone并获取用户的语言代码 Thanks 看看 NSLocale NSString language NSLocale c
  • iOS 自动布局 - 如何设置视图之间的两个不同距离,取决于屏幕高度

    我知道我错过了一些东西 因为这必须是很容易实现的东西 我的问题是 我的 加载屏幕 启动后立即出现的屏幕 中有一个 UIImageView 其中包含 3 5 英寸和 4 英寸尺寸屏幕的两个不同图像 在该图像的某个位置 我放置了一个 UIAct