当我在模拟器中运行我的应用程序时,我的Storyboard预览选择手机时仍然会获取高度和体重。不应该选择哪种模拟器?例如:Storyboard预览选择iPhoneSE然后ImageView重量=96高度=92Storyboard预览选择iPhone8然后ImageView权重=112.5高度=108.5但是当我的storyboard预览时选择iPhoneSE和simulator不管选择哪个像iPhone8,iPhoneX...重量=96高度=92为什么?最奇怪的是当我选择不同的Storyboard预览时,同一个模拟器,我得到不同的尺寸......print(self.img.frame
我有一个带有连接两个View的约束的简单布局,我将该约束存储在一个strong属性中。我的预期是,在删除其中一个View后,约束仍然存在,但会变为非事件状态。但事实并非如此,我的应用程序因EXC_BAD_ACCESS异常而崩溃。幸运的是我能够重现这个问题。我附上ViewController的源代码。您可以将其粘贴到使用“单View应用程序”模板创建的新项目中。要重现问题,请在删除其中一个View之前和之后打印约束说明。它发生在我身上一次,约束没有被删除并且代码有效(但它只发生了一次)。使用调试器,我能够检查我删除的View是否也没有被释放,而它已经没有层,所以它的某些部分已经被解构了。
我在垂直堆栈View中附加了标签和图像。我希望它们以堆栈View为中心,但不要更大。我还希望标签的顶部与图像的底部对齐。我尝试了这些约束:但是标签粘在堆栈View的底部。我也试过:NSLayoutConstraint(item:stackView,attribute:.top,relatedBy:.greaterThanOrEqual,toItem:contentView,attribute:.top,multiplier:1,constant:0).isActive=trueNSLayoutConstraint(item:stackView,attribute:.bottom,rel
在我的一个ViewController中,我使用底部有两个按钮的UIView。显然,我想适应屏幕的两个按钮,所以我使用这个:leftButton.bottomAnchor.constraint(equalTo:self.bottomAnchor,constant:-16).isActive=truerightButton.bottomAnchor.constraint(equalTo:self.bottomAnchor,constant:-16).isActive=true//16pointsbetweenthebuttonsleftButton.rightAnchor.constra
我想指定中心的坐标。-(Void)viewDidLoad{[superviewDidLoad];self.motherButton.center=CGPointMake(-100,self.motherButton.center.y);}在上面的代码中,motherButton并没有移出屏幕。你怎么走?我想在动画中移动。 最佳答案 -(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];self.motherButton.center=CGPointMake
我试图让这个View与自动布局一起工作,以适应3.5"屏幕和4"屏幕。我开始觉得仅使用自动布局和IB是不可能的。有什么见解吗?我已经尝试了几乎所有我认为有意义的约束组合(并且在黑暗中尝试了很多),但运气不佳。这是它在3.5"屏幕上的样子(来自IB,但在模拟器中看起来完全相同)这是它在4"屏幕上的布局这是限制条件,如果有更好的方式来显示这些信息,请告诉我。 最佳答案 最简单(但不是最好)的方法是获取页面上的每个项目并添加以下约束“针脚”宽度“针脚”高度将Space引导至superviewsuperView的顶部空间移除所有其他约束。这
我有一个UIViewController,我小时候将它添加到另一个UIViewController。添加子项时,父项使用childVC.frame=....为我的子项设置框架,但这会破坏我的约束。我可以很容易地在IB中复制这个问题。创建一个UIViewController,将大小更改为“自由格式”并放弃状态栏(只是为了在视觉上看起来正确)。添加UIButton(或任何东西)和约束,使它们的大小相同(见下图)现在更改ViewController中顶层View的大小并观察会发生什么。它改变了我对我的约束。我希望我的按钮变大并且仍然保持原来的约束。如果您在屏幕中的iPhoneRetina3.
我有以下单元格:(来源:qwuh.com)顶部的“Loading...”是一个UILabel,其“Lines”设置为0。我无法截断内容,因此它必须相应地调整大小并将其下的所有其他内容向下推.通常发生的是我确实得到了一个例子。3行UILabel,但它与ImageView重叠。我不明白这一点,因为我对UILabel和UIImageView之间的垂直间距有一个“1000”用户约束。我在IB中同时设置了“SiblingsandAncestors”和“Descendants”。除了顶部的第一个“正在加载...”UILabel之外,这些View都没有在IB中设置任何“...空间到superView
我在下面的链接中遵循Apple关于使用UIScrollView实现自动布局的指南。http://developer.apple.com/library/ios/#releasenotes/General/RN-iOSSDK-6_0/index.html它说,“或者,您可以创建一个View子树以进入ScrollView,设置您的约束,并调用systemLayoutSizeFittingSize:方法(使用UILayoutFittingCompressedSize选项)来找到您想要用于内容的大小View和ScrollView的contentSize属性。”我的问题是,当我调用CGSizen
我有一个ScrollView,里面有容器View(self.tagScrollContentView)。那是在Storyboard中。然后我生成按钮并以编程方式将它们放置在带有约束的容器View中。for(NSIntegeri=0;i此代码根据按钮的宽度将所有按钮排成一行。一切正常。然后我需要的是放大tagScrollContentView使所有按钮都在这个View内而不是在边界之外。然后将等于容器View的正确内容大小分配给我的滚动。不幸的是滚动不能正常工作。内容大小不适合容器View。 最佳答案 关键问题是您的contentSi