- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 Xcode 5.0.1 中有一个针对 iOS7 的项目。我正在使用 Storyboard 设计应用程序,并且正在使用 Autolayout。
当我构建和运行应用程序时,我使用 iOS 模拟器对其进行测试。我在 3.5"和 4"视网膜方案之间切换,以在不同的屏幕尺寸上查看应用程序。
在大多数情况下,一切正常,Autolayout 似乎工作得很好。但是,在一个屏幕上,布局存在问题,但仅在以下情况下:
在这种情况下,Autolayout 似乎无处不在,除了我使用更复杂的 View 结构的一个地方:
但是,如果我只是将 Storyboard 上的尺寸更改为“Retina 4-inch”,那么 Storyboard 上的一切看起来都很好,而且当它运行时,它看起来也很好。如果我将外形尺寸保留为“Retina 3.5 英寸”并将 iOS 模拟器更改为“iPhone Retina(3.5 英寸)”,情况也是如此:
所以,我的问题是:这是正确的行为吗? Storyboard 外形尺寸是否必须与您正在测试的设备相匹配?我想知道,因为这是 Storyboard 中唯一导致问题的 View ,然而,切换形状因子会使一切正常运行,因此自动布局似乎工作正常。
最佳答案
我知道这个问题很老,但我刚刚遇到并解决了同样的问题。
我的情况是这样的:
1) 我有一个 UITableView,它受限于我的 View Controller 框架的大小。2) 在 viewDidLoad 方法中,我添加了一个表头 View ,使用我的 TableView 的框架作为表头的框架。
UIView *headerView = [UIView alloc]initWithFrame:self.tableView.frame];
self.tableView.tableHeaderView = headerView;
这给了我一个标题,它隐藏了表格 View 中的内容,直到标题被向上滑动(类似于雅虎天气)。
3) 在标题的底部,我有几个标签显示在向上滑动之前可见的信息。
问题:
如果我在 3.5"模拟器上启动我的应用程序,但将 Storyboard 设置为 4"手机,则标题 View 底部的标签将呈现在屏幕底部下方,将它们切断。
如果我在 4"模拟器上启动了我的应用程序,但 Storyboard设置为 3.5",标签在表格的标题 View 中显得太高了。
如果我在与 Storyboard设置的大小相同的模拟器上启动应用程序,一切都会完美运行。
经过几个小时的思考,我意识到调用 viewDidLoad 时我的表格 View 的框架没有使用自动布局约束设置。当时它是从我的 Storyboard中推断出大小,然后根据约束进行调整。结果,我的表 View 标题与预期的 TableView 大小不同。
根据 TableView 的大小将添加 TableView 标题的代码移动到
viewDidLayoutSubviews
方法,当应用自动布局约束时解决了这个问题。
关于ios - 使用 Autolayout 的 Xcode 中的 Storyboard form factor 和 Active Scheme 之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885997/
我正在使用 PLT 方案 (DrScheme)。我想加载从 here 获得的文件.要加载文件,我进入 PLT Scheme 并在交互窗口(或底部窗口)中输入(加载“simply.scm”),然后按 E
根据我的阅读,Scheme 中的符号不区分大小写 - 即 (eq? 'Hello 'hello) 评估为 #t (因为两者都由符号 'hello 表示,并且 scheme 具有两个具有相同名称的符
我正在尝试在 Scheme 中完成一个有限状态机。问题是,我不确定如何告诉它应该测试哪些字符。如果我想测试字符串“abc112”,我该怎么做? 代码如下: #lang racket (defin
我正在尝试做我的家庭作业,并通过一些示例代码进行破解,我看到了这一行: [(:+ (:or VAR)) (token-VAR (string->symbol lexeme))] 这是来自计算器中
我在 MIT/GNU Scheme 中运行了这个: (define x (+ 2 3)) 然后解释器打印: ;Value: x 但是根据我的教科书,define 表达式返回的值应该是未定义的。为什么解
考虑以下定义数字树的 BNF。请注意,树可以是叶子、具有一个子树的节点 1 或节点 2有两个子树。 tree ::= (’leaf number) | (’node-1 tree) | (’node-
(show-data 'YHOO :config 'my-config) 我看到了一些 Scheme 代码(在 Guile 中),如上面的行,并且对 colon 语法 :config 感到困惑。 这有
我目前正在尝试理解方案中流的概念。例如,我应该编写一个函数 fibonacci,它返回斐波那契数作为流表示形式。 函数的期望输出/用法如下所示: > (define a (finbonacci)) >
我想创建一个可以确定方案中任意函数定义的函数。如果我们将这样的函数称为“定义”,它会这样工作: (define (triple x) (* 3 x)) (definition triple) woul
在 Common Lisp 中,当我想根据 Common Lisp 实现使用不同的代码片段时,我可以使用 *features* 和提供的 #+ 和 #- 符号来检查给定功能的可用性并相应地进行。例如(
我正在学习 Scheme,具有 C/C++ 背景。我非常习惯于将相关的值组合到结构中,而且我发现 Scheme 的记录在这方面工作得很好。 如果发现自己经常这样做以避免函数体中的视觉噪音: (defi
在 Scheme R7RS 中,有 load 和 include 两种形式。 包含描述为: Semantics: Both include and include-ci take one or mor
我无法理解 Scheme 中收集器函数的使用。我正在使用“The Little Schemer”一书(Daniel P. Friedman 和 Matthias Felleisen 着)。一个带有一些
我知道您可以使用 (read) 来获取用户输入的表达式,但是 (read) 只会获取第一个表达式,然后对任何内容进行评估。我想知道是否有任何方法可以读取整行用户输入,也许将所述行转换为列表? (let
我正在重新熟悉 Scheme,我遇到了一个问题,这可能反射(reflect)了我的根本误解。 假设我在 Scheme 中执行以下操作(在这种情况下使用 Guile,但在 Chicken 中也是如此):
这是我目前正在自学的链接 Scheme,http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-1.html 据作者介绍, 然后我尝试了
假设我有这样的事情: (define pair (cons 1 (lambda (x) (* x x)) 如果我想返回这对的前对象,我会这样做: (car pair) 它返回 1。但是当对象是一个过程
我编写了以下示例,以尝试在 Chibi Scheme 0.5.3 中使用 R7RS 库: (define-library (example hello) (export hello-world
CODE SNIPPET 1 和 CODE SNIPPET 2 有什么区别? ;CODE SNIPPET 1 (define i 0) (do ()
长度为 n 的 k 元项链是一个长度为 n 的有序列表,其项目是从长度为 k 的字母表中抽取的,它是所有共享轮换排序的列表中按字典顺序排列的第一个列表。 例子: (1 2 3) 和 (1 3 2) 是
我是一名优秀的程序员,十分优秀!