使用视觉格式语言将视图置于其超级视图的中心

2024-04-11

我刚刚开始学习 iOS 的 AutoLayout,并了解了 Visual Format Language。

除了一件事之外,一切都工作正常:我只是无法让视图在其超级视图中居中。
这对于 VFL 是否可行,还是我需要自己手动创建约束?


目前,不,看起来不可能使用以下命令将视图置于超级视图的中心onlyVFL。然而,使用单个 VFL 字符串和单个额外约束(每个轴)来做到这一点并不困难:

VFL: "|-(>=20)-[view]-(>=20)-|"

[NSLayoutConstraint constraintWithItem:view
                             attribute:NSLayoutAttributeCenterX
                             relatedBy:NSLayoutRelationEqual
                                toItem:view.superview
                             attribute:NSLayoutAttributeCenterX
                            multiplier:1.f constant:0.f];

人们会认为你能够简单地做到这一点(这是我看到这个问题时最初的想法和尝试):

[NSLayoutConstraint constraintsWithVisualFormat:@"|-(>=20)-[view(==200)]-(>=20)-|"
                                 options: NSLayoutFormatAlignAllCenterX | NSLayoutFormatAlignAllCenterY
                                 metrics:nil
                                   views:@{@"view" : view}];

我尝试了上述方法的许多不同变体,试图将其弯曲到我的意愿,但这似乎不适用于超级视图,即使两个轴明确有两个单独的 VFL 字符串(H:|V:)。然后我开始尝试准确地隔离选项do应用于 VFL。他们似乎not适用于 VFL 中的超级视图,并且仅适用于 VFL 字符串中提到的任何显式视图(这在某些情况下令人失望)。

我希望将来苹果添加某种新选项,让 VFL 选项考虑超级视图,即使仅当 VFL 中除了超级视图之外只有一个显式视图时才这样做。另一个解决方案可能是传递到 VFL 的另一个选项,其内容如下:NSLayoutFormatOptionIncludeSuperview.

不用说,为了回答这个问题,我学到了很多关于 VFL 的知识。

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

使用视觉格式语言将视图置于其超级视图的中心 的相关文章

  • 在 Android 上使用 opus 剪辑从 IOS 发送的声音

    我正在 IOS 中从 audioUnit 录制音频 用 opus 编码字节并通过 UDP 将其发送到 android 端 问题是播放的声音有点削波 我还通过将原始数据从 IOS 发送到 Android 来测试声音 效果非常完美 我的 Aud
  • iOS 中如何清除特定域的 cookie?

    我已经搜索了 StackOverflow 上的几乎所有问题来寻找我的问题的答案 我还没有找到任何有用的链接或教程来说明哪种方式最好清除特定域的 cookie 如果有人可以帮助我 请 我自己找到了解决方案 如果您想删除 UIWebView 中
  • 如何在 iOS 中查找蓝牙音频设备

    好的 我正在开发一个有趣的项目 该项目有一个障碍 我需要为我的 iOS 应用程序启用蓝牙音频支持 我遇到的障碍是我什至无法开始获取已连接的蓝牙音频设备的列表 即使我的 iPhone 5S 可以识别我的耳机 大约 3 4 岁的耳机 LG HB
  • UITableview 中的水平和垂直滚动[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 I want to make a lineup for a festival You can see what I want to a
  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 打乱 NSMutableArray 而不重复并显示在 UIButton 中

    在我看来 我有 12 个按钮 一个数组包含 6 个名称 我想在其中打印数组名称UIButton标题 这是我的代码 texts NSMutableArray alloc initWithObjects 1 2 3 4 5 6 nil UIBu
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 当地图视图只是屏幕的一部分时,如何在 iOS 模拟器中进行捏合?

    我在 iPad 上有一个视图 我正在添加MKMapView也就是说 全屏高度的一半 然而 当我尝试在 iOS 模拟器上进行捏合时 它不起作用 因为 to nubs 填充了模拟器上的整个 iPad 视图 And so with the map
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个

随机推荐

  • UITableView:我可以删除多行吗?

    我想根据用户的选择从表视图中删除多行 显然我不能使用didSelectRowAtIndexPath方法 因为它将为所选的每一行调用 我想让用户选择多行进行删除 然后一次性删除它们 是否可以 如果是 那么该怎么办呢 另外 我正在使用基于单视图
  • 如何配置 ASP.NET Core 1.0 以使用本地 IIS 而不是 IIS Express?

    我怎样才能设置一个 Net核心1 0项目使用本地IIS代替IIS 快递调试时 我尝试过修改启动设置 json以各种方式归档 例如 替换所有出现的IIS 快递 with 本地IIS并更新应用程序网址 and 启动网址使用我的自定义本地主机ht
  • 使用 DisplaCy 将 SpaCy 渲染文件保存为 SVG

    我有以下代码 import spacy from spacy import displacy from pathlib import Path nlp spacy load en core web sm parse True tag Tru
  • 为什么我们需要在重载 >> 和 << 运算符时返回对 istream/ostream 的引用?

    如果我不回来会怎样din or dout 实际上我正在读一本书 其中作者返回了返回流引用 istream operator gt gt istream din vector a for int i 0 i
  • 主题应用程序中的样式 SnackBar

    我需要帮助 如何更改样式应用程序中小吃栏中文本的设计 我对代码的更改不感兴趣 我找到了以下代码 但这对我不起作用 这是为什么 我的主题源自 style Theme AppCompat Light DarkActionBar 我将非常感谢您的
  • 如何监控 DOM 的变化?

    有没有一种方法 使用 jQuery 或其他方式 来监视 DOM 的插入 删除 样式更新等 请参阅此处的 MutationEvent 元素 https developer mozilla org en DOM DOM event refere
  • 插件和主题之间的依赖冲突

    我在我的网站上安装了自定义主题和 SMTP 插件 它们都包含用于不同目的的 Google API PHP 客户端 不幸的是 插件和主题使用的依赖是不同版本的 并且它们无法轻松升级或降级 这会导致冲突 插件从主题加载包而不是自己的包 并抛出错
  • Axis HTTP 与 Axis HTTPS 代理设置

    我部署在 Weblogic 集群上的 Java 应用程序调用两个 Web 服务 如下所示 它通过 HTTPS 将 SOAP 客户端请求发送到互联网上的外部应用程序 通过 Axis 1 4 创建的 Java 类 此后 它通过 HTTP 将 S
  • 在 Erlang 中使用完全限定的函数调用?

    我刚刚学习了如何在 Erlang 中升级模块 并且我知道只有使用完全限定名称的函数调用 例如module function 重新链接 到加载到 VM 中的当前版本 但未指定模块名称的函数调用不会 重新链接 到当前版本 而是继续使用旧版本 关
  • Heroku 错误:找不到模块“./config/keys”

    我部署了一个 Nodejs 应用程序 到目前为止它的后端是 Heroku 我在浏览器中收到应用程序错误 当我跑步时heroku logs 我看到这个错误 Error Cannot find module config keys 所以我运行一
  • 静态链接 libpng 到共享库

    我已将问题简化为最小的 test c include png h int function printf ld long png create read struct 编译用 gcc shared fPIC test c o test so
  • 有什么办法区分MYSQL更新0受影响行的情况吗?

    假设我有一个名为 t 的表 key value 1 abc 2 def 考虑两个 MYSQL 查询 UPDATE t SET value abc WHERE key 1 UPDATE t SET value abc WHERE key 3
  • ScheduleLocalNotification 不适用于越狱应用程序?

    我有一个应用程序可以调用scheduleLocalNotification 但是当我安装它时它不起作用 应用代替 var mobile 应用程序 void doNotify this doesn t work when app is in
  • Java XMLStreamWriter:输出 Unicode 扩展字符(非 BMP)

    有谁知道如何正确输出扩展字符 非BMP 超过1char 使用Java的XMLStreamWriter 例如 尝试输出 Unicode U 10480 import java io OutputStreamWriter import java
  • 使用 ContentProvider 插入多行

    我需要在一个事务中插入几行 我可以使用 ContentProvider 来实现吗 我已经在我的应用程序中实现了这一点 这是我使用的代码的要点 在我的内容提供程序中 我重写了 applyBatch 方法 这是一个非常简单的重写方法 Perfo
  • .NET COMException 接口未注册

    我无法理解这一点 我想使用该供应商的 OCXhttp www mobyt it http www mobyt it 发送短信 它是一个 dll 他们提供了 Vb NET Visual C 等的使用示例 我得到的例外是 System Runt
  • 如何防止 img:hover 舍入/摆动? (仅限火狐)

    我注意到 标准的 悬停在以非原始宽度值显示的图像上 当鼠标悬停生效时 将导致轻微的摆动动画 我认为这是由于发生了一些像素舍入 但为什么悬停时图像显示不同 请参考我的测试用例http jsfiddle net z29LM 8 http jsf
  • Git blob 数据和不同信息

    据我所知 Git 的 blob 将 SHA1 哈希值作为文件名 以避免在存储库中重复文件 例如 如果文件 A 的内容为 abc SHA1 哈希为 12345 只要内容不改变 提交 分支就可以指向相同的 SHA1 但是 如果将文件 A 修改为
  • 如何平衡 GAN 中生成器和判别器的性能?

    这是我第一次使用 GAN 我面临着判别器多次优于生成器的问题 我正在尝试重现PA模型来自本文 http openaccess thecvf com content ICCV 2017 papers Sajjadi EnhanceNet Si
  • 使用视觉格式语言将视图置于其超级视图的中心

    我刚刚开始学习 iOS 的 AutoLayout 并了解了 Visual Format Language 除了一件事之外 一切都工作正常 我只是无法让视图在其超级视图中居中 这对于 VFL 是否可行 还是我需要自己手动创建约束 目前 不 看