Tag: 自动

出现视图后应用iOS 8 / XCode 6自动布局约束

我有一个在XCode 5和iOS 7上工作得很好的项目,但是当我最近下载XCode 6时,我注意到了一些自动布局的奇怪行为。 我有一个视图的故事板,只有一个UIImageView和两个UILabels。 这个视图使用UiPageViewController加载。 UIImageView在视图中水平和垂直居中,并且存在约束,指定图像视图中两个标签的距离。 当故事板和自动布局值有冲突的情况下(例如,在故事板中,一个标签在图像视图上方20个像素,但是自动布局表示它应该在40个像素以上),过去,自动布局值是在视图加载之前成功应用。 因此,当视图第一次显示时,一切都在正确的位置。 现在iOS 8 / XCode 6,我看到加载的视图,然后东西跳转到他们最后的自动布局的位置。 最终用户在模拟器和真实设备上都能看到这种跳跃,这真的很烦人。 有没有办法回到过去的行为? 据我所知,没有代码已经改变,导致这个问题。

呈现视图控制器后自动布局无效(和许多情况)

背景: 我有一个自定义的容器控制器,就像UITabBarController,但与切换animation。 我使用自动布局来实现。 由于子控制器之间的切换是dynamic的,当子视图控制器的视图添加到容器的视图中时,正确的约束被添加到子视图控制器,而不是在IB中预先设置。 (约束被添加到当然超视图) http://d.pr/i/q6NF容器控制器笔尖设置 PS:约束的细节 H:| [Child](将约束的常量从左/右改为左/右) H:[儿童(==超级)] 五:| [儿童] | 哪里有问题: 其中一个子控制器是一个导航控制器,当导航控制器呈现一个模式视图控制器(使用presentViewController:animated:completion:时,出现错误,并且在出现/closures帧之后closures它(使用dismissViewControllerAnimated:completion:导航控制器成为(x,y,0,0), 似乎自动布局变得无效,也许约束被删除。 http://d.pr/i/VmvL现在/解散过程 研究 我还没有使用代码来validation这些约束条件是什么,但是使用Spark Inspector,我可以在当前/解散过程中看到视图表示的变化。 当我的导航控制器提供了一个模式视图控制器,iOS只是交换整个导航控制器的视图到模态视图控制器的视图。 而当导航控制器的视图回来,自动布局不再工作。 可能的scheme 我提出的一个解决scheme是让我的容器控制器提供模态控制器。 或者我只是将我的容器控制器更改为自动布局。 事实是,自从我开始使用自动布局以来,这种技术所带来的问题只是主导了好处。 除了这个问题 ,每次界面方向改变时,我的容器控制器里的视图都不能自动排版,看来子视图总是在方向改变之前使用超视图的框架。 我仔细检查我设置的约束,没有冲突,没有歧义。 我的猜测是,我的自定义容器控制器与自动布局系统中的模态视图控制器和界面方向更改不兼容,即使使用约束设置。 Xcode环境 Xcode 5testing版,iOS 7SDK,目标iOS6.1也许有些东西与SDK环境不正确? 所以我发布这个问题,请帮助我! 这是我的第一个问题,所以我没有足够的声望发布图像,但我提供了截图的链接。 对不起!

iOS容器视图不尊重intrinsicContentSize

我想使用容器视图来包含相机预览。 我想让相机居中,保持适当的宽高比。 (这是粉红色的,使其明显的地方在哪里) 我被困在试图让相机预览出现在比容器小的尺寸上的第一步。 我有一个相机控制器的视图的UIView子类,并有代码: – (CGSize)intrinsicContentSize { return CGSizeMake(320, 240); } 不幸的是,这不是荣幸: 从阅读文档, intrinsicContentSize看起来就是我想要的。 最终我也想使用自动布局,但我试图一次解决一件事。 我该如何做这项工作?

UIScrollView的子节点错误的尾部空间限制

我已经创build了一个新的视图控制器,然后添加一个滚动视图作为根视图的子视图,并将“前导/顶部/尾部/底部空间设置为超视图”为0,以便滚动视图将完全填充其父项。 然后我添加一个button作为滚动视图的子项,空间约束15“超级视图”(即滚动视图)。 因此,我期望button的间距为15到顶部/左/右边界,滚动视图的内容结束于“button+ 15的底部”。 但是button的宽度不正确(在Xcode 5 Interface Builder,iOS 6/7模拟器中testing): 它甚至不工作,如果我限制button“等宽度到超视图”! 仍然不占据全宽。 我如何解决这个问题?

我怎样才能使用自动布局(ios6 + ios7)4“和3.5”iphone屏幕的故事板?

关于构build可在4英寸和3.5英寸屏幕尺寸上工作的故事板布局,有许多问题和答案,但对于以下情形我找不到合适的解决scheme。 我使用ios6(和ios7)自动布局,我不必支持landscpae或ipad。 我有一个UIView有几个子视图,必须看起来像下面的模型。 在故事板中设置自动布局约束是很容易的,以适应任何一种屏幕尺寸。 我的问题是 – 如何使自动布局根据运行时的屏幕大小select正确的约束? 请注意,我不想使用2个不同的故事板。 在我的整个应用程序中这样做会是很多工作,我将不得不挂钩每个故事板上的所有代表,sockets和操作。 屏幕上的变化需要我做两倍的工作。 我已经尝试了2种方法使这个工作在一个故事板上,但是我对其中的任何一个都不满意。 加倍限制。 较大的约束(50)具有比较低的约束(30)更高的优先级。 这种方法的问题是,在3.5“的屏幕尺寸上,自动布局可能会select一个较低的优先级约束 – 足以满足布局 – 但留下一些高优先级的约束。 子类NSLayoutConstraint。 在这个方法中,故事板中的所有约束都被设置为NSDualLayoutConstraint。 在NSDualLayoutConstraint的初始化代码中,在运行时屏幕大小为3.5“的情况下,约束的常量更改为3_5_constant的值,但这种方法更具确定性,但在界面生成器预览中看不到3.5”布局。 如果只有界面生成器约束有一个次要的常量值,当屏幕大小为3.5“时,这将解决我的问题。所以我仍然与我的问题 – 我怎么才能正确地使用一个故事板布局子视图正确4“和3.5”屏幕尺寸?

使用AutoLayout约束来隐藏UIView

不时,我有一个子视图,我想从布局中删除。 它不仅应该被隐藏起来,而且也不应该被视为视图“stream”的一部分,可以这么说。 一个例子: 我正在寻找一个策略,以编程方式隐藏橙色视图。 框的布局和内容是通过自动布局来实现的。 有两件事要注意: 橙色框根据内容定义其垂直高度,以及边缘的一些顶部/底部偏移量。 因此,将标签的文本设置为零只会将视图缩小到内部边距,因此不会有0的高度。 同样地,三个盒子之间的垂直间距意味着即使桔子盒的高度为0,红色和黄色之间的差距也是所需的两倍。 可能的解决scheme 我最好的build议是为橙色框添加一个约束,将其高度设置为0.为此,我需要为橙色框内的所有垂直约束使用不需要的优先级。 同时,容器应该更新用于分隔框的约束的常量。 我不太喜欢这种方法,因为橙色盒子类正在定义它的内在约束,因为它的超级观点的行为。 也许我可以忍受它,如果橙色框视图,而不是暴露一个'崩溃'的方法,自己添加0高度约束。 有更好的方法吗?

界面生成器中的“宽度等于高度”约束

我找不到在Interface Builder中创build“方形”约束的方法,意思是“宽度等于高度”。 我想可以通过编程添加这样的约束。 IB有什么我可以做的吗? 也许我只是不明白? 这似乎微不足道,但我找不到它。

当以编程方式设置提示时,UINavigationBar与UITableView重叠

我有一个包含UITableViewController的UINavigationController 。 这个导航控制器将周围的其他UITableViewControllers,最终这些表视图控制器将有一个提示。 问题是,当我以编程方式设置此提示时,它将与其下方的表视图的内容重叠。 (search栏正在被导航栏隐藏) 我正在四处寻找,并find了答案 。 我在受影响的视图控制器中以两种不同的方式尝试了这个build议,但没有任何改变: override func viewDidLoad() { super.viewDidLoad() self.edgesForExtendedLayout = .None; self.extendedLayoutIncludesOpaqueBars = false; self.navigationItem.title = NSLocalizedString("Add Anime or Manga", comment: "") self.navigationItem.prompt = NSLocalizedString("Search media belonging to this series.", comment: "") } – override func viewDidLoad() { super.viewDidLoad() self.navigationItem.title = NSLocalizedString("Add Anime or Manga", comment: "") self.navigationItem.prompt = NSLocalizedString("Search […]

iOS:多个button的自动布局

在我的应用程序,我有这样的4英寸的屏幕视图: 然后,当应用程序在3.5英寸屏幕的iPhone上运行时,我想缩小button的大小,所以我按照以下方式设置我的布局: 但最后我以这种方式获得了一个观点 这样,我的button的大小是确定的,但他们没有alignment,所以在这种情况下,有什么办法alignmentbutton? 谢谢

如何在Xcode5中使用AutoLayout制作ScrollView

在Xcode 5使用故事板如何使一个完全可操作的垂直滚动滚动视图,AutoLayout ON? 考虑到子视图有层次结构: 1.UIView 2.UIScrollView 3.UIView (lets call this UIDetailView to make things easier) 请从代码到约束的具体情况,以使任何视图变小。