天道酬勤,学无止境

autolayout

Autolayout UIButton and UILabel font size according to specific type of the iPhone size[NOT PROGRAMMATICALLY]

问题 我想根据 iPhone 大小(4、4.7 或 5.5 英寸)设置不同的字体大小这是解决方案之一 但我想问有没有什么方法可以通过界面生成器自动调整 UIButton / UILabel 字体大小而无需代码? 例如,它如何与 UIsmth 大小的持有比率宽度 - 高度一起使用? 如果没有办法按照我的描述进行 - 设置字体大小的最佳做法是什么。 我应该将它作为每个 UI 元素的单独文件执行,还是最好在适当的 UI elem 子类中执行? 具体问题 - 我正在为 iPhone 肖像写一个网络应用程序 回答1 是的,您可以使用 sizeClass 。 选择要更改 sizeFont 的 viewController,然后 这里: 您选择所需的 sizeScreen (它会在您看到 "any/any" 的地方显示为蓝色) ,然后选择 textField,转到 属性检查器 并单击字体部分中的加号按钮选择新大小: 你会看到这样的东西: 选择并更改您想要的尺寸,它会为您工作

2022-05-14 16:26:04    分类:技术分享    iphone   swift   user-interface   autolayout   font-size

Multi-line NSTextField not working

问题 我一直在尝试让多行NSTextField使用preferredMaxLayoutWidth自动布局。 我不明白为什么这不起作用。 class ViewController: NSViewController { override func viewDidLoad() { super.viewDidLoad() let textField = NSTextField() textField.cell!.usesSingleLineMode = false textField.cell!.wraps = true textField.cell!.lineBreakMode = .byCharWrapping view.addSubview(textField) textField.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ textField.topAnchor.constraintEqual(to: view.topAnchor), textField.leadingAnchor.constraintEqual(to: view.leadingAnchor), textField.widthAnchor.constraintEqual(toConstant: 20

2022-05-14 09:29:22    分类:技术分享    macos   cocoa   nstextfield   autolayout

How do I center 4 uibuttons with equal distance from each other?

问题 我有 4 个 uibuttons。 每个按钮必须为 100x100。 我想将它们中的 4 个放在屏幕中央(水平),但将它们垂直放下。 我不知道从哪里开始,但我听说 stackviews 可能有用? 没有把握。 我尝试使用基本约束,但我无法让它们工作。 这是我想要得到的: 回答1 第 1 步:-在情节提要中选择 4 个按钮。 按钮 1 , 按钮 2 , 按钮 3 , 按钮 4 第 2 步:-为所有按钮提供固定高度和宽度。 第 3 步:- 2 个堆栈视图中的所有 2 - 2 个按钮对。 第 4 步:-为两者设置 UIStackview 属性。 Distribution -> Fill Equally Spacing -> 5 (as per your requirement) 第 5 步:-在一个 Stackview 中添加两个 Stackview 第 6 步:-设置Distribution = Fill equally Spacing =5 (根据您的要求设置) 第 7 步:-现在将 Constrain 设置为 main stackview center Horizontally in container center vertically in container and select Update Frame. 第 8 步:-现在是为所有设备输出的时候了。

2022-05-14 04:02:04    分类:技术分享    ios   swift   uibutton   autolayout   constraints

Is it possible to rotate an image in Storyboard or do you have to do it programmatically?

问题 假设您有一个三角形图像,您想以不同的角度(例如,180 度、90 度)使用。 是否可以在 Storyboard 中旋转三角形图像,还是需要以编程方式进行? 回答1 You could probably create an IBDesignable & IBInspectable UIView subclass that had a rotation angle property, and applied a transform to the image it contained. IBInspectable allows you to expose custom properties of your custom views in IB's Attributes inspector. Making a view IBDesignable allows you to view a preview of your custom view object in IB. Edit: This is a very old thread, but I decided to implement a custom UIView that allows rotation, as I described. Since it's now 2021, I used Swift:

2022-05-14 02:59:15    分类:技术分享    ios   xcode   uiimageview   autolayout   storyboard

UIImageView Frame Doesn't Reflect Constraints

问题 我有一个UIImageView ,并在其上设置了一系列相互冲突的约束。 我在不同的时间将其中一些的active属性设置为true或false ,并且它起作用了——图像视图总是在它应该在的地方。 然而,在另一种方法中,我使用它的框架来计算另一个视图的位置,所以我注意到它的框架不是图像视图出现的位置。 例如,图像视图出现在屏幕中间,但它的框架(我创建了另一个 UIView 并将它的框架设置为图像视图的框架来测试它)位于左下角——图像视图曾经是在更改哪些约束处于活动状态之前。 有没有办法可以更新框架以反映图像视图的实际位置? 或者,有没有办法获得图像视图的真实框架? 这是代码( qrCode是我试图安排的视图, myContainer是它的超级视图): self.qrCode.setTranslatesAutoresizingMaskIntoConstraints(false) //this sets qrCode 0 pts from the bottom of its parent self.bottom.active = false //this centers qrCode vertically in its parent self.center.active = true //these set how far the parent is from the edges

2022-05-11 19:51:04    分类:技术分享    ios   swift   uiview   autolayout   constraints

Wrong width of custom section header form xib

问题 我无法使视图的宽度适应不同屏幕尺寸上的表格视图的大小 这是我在 viewDidLoad() 上的代码 view.tableView.registerNib(UINib(nibName: "Header", bundle: NSBundle.mainBundle()), forHeaderFooterViewReuseIdentifier: "Header") 在表视图委托上: func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { var cell = tableView.dequeueReusableHeaderFooterViewWithIdentifier("Header") as! Header // etc } 请记住,我不想把它放在情节提要中,并且我正在使用自动布局。 有小费吗? 回答1

2022-05-11 07:40:32    分类:技术分享    ios   iphone   uitableview   autolayout   xib

Content hugging priority Dynamic Cell Size

问题 最近我遇到了一个复杂的自动布局情况,已经解决(感谢@Catalina T.)。 目前我遇到了内容拥抱优先级的问题。 我有 4 个可能包含大量文本的动态标签,因此单元格应该适合内容。 使用当前的约束和优先级,如果我为所有动态标签设置大量文本,它可以完美地工作(尽管其中一个不会完全显示,而是会被点剪裁)。 如果我将第三个标签的文本设置为一个巨大的自动布局会发疯......我会得到这样的结果: 而我希望所有标签都按顺序排列。 演示项目。 如何解决这个问题? 先感谢您! 回答1 我设法解决了这个问题。 AutoLayout 应该知道所有动态视图的前导、尾随、顶部和底部约束。 除此之外,可能会发生一个视图很大而其他视图不是很大的情况,结果您会得到错误的安排。 要解决这个问题,只需为尚未与此约束连接的每个动态视图添加垂直间距。 然后您应该将约束Relation更改为Greater Than Or Equal ,因此您只需通知 AutoLayout 您希望这些视图按顺序排列。 解决了演示项目。

2022-05-11 04:58:14    分类:技术分享    ios   uitableview   swift   autolayout   nslayoutconstraint

How to create equal spacing between multiple label in ios xcode 6.3 using AutoLayout Constraints

问题 如图所示,如何实现多个标签的自动布局 我也需要在所有标签和侧面空间之间保持相对相等的间距。 我想在标签 1、2、3、4 之间保持相等的间距。 我无法使用 AutoLayout 在多个 iPhone 版本的标签之间保持相对相等的间距。 我能够使用以下步骤解决: Step1:将您要创建的标签或按钮放在视图内,并给出该视图约束,如下所示: Step2:选择您要创建的所有标签或按钮并设置约束,如下所示: 首先 在第二 在第三 回答1 label1.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin; label2.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin; label3.autoresizingMask

2022-05-11 00:51:35    分类:技术分享    ios   xcode   autolayout

Autolayout UILabel in UITableViewCell

问题 我正在使用 autoLayout 并且是新手, 我有一个 UITableView Cell 如下, UITableViewCell 高度是动态的,因此它的高度会根据文本而变化。 我有两个标签 A 和 B,它们可以有可变长度的文本,但宽度是固定的,并且我的UITableViewCell 具有动态高度,所以我怎样才能将它们保持在中心右侧并保持与单元格顶部和底部的距离相等,如在上面的两张图片中看到。 回答1 要将两个标签放在中心,您必须将它们放在一个视图中,然后将该视图设置在中心。 所以让我们开始并创建一个视图,比如 labelContainer。 如下所示 如图所示设置约束,除了固定高度,因此最终约束将作为超级视图的固定尾随空间,固定宽度并将垂直中心对齐到超级视图。 现在在 labelContainer 视图中根据需要创建两个标签,如下图所示。 现在,您的标签将具有以下约束:labelA-固定宽度、固定顶部和尾部空间到容器视图以及固定底部空间到标签 B。对于 labelB-固定宽度、固定底部和尾部空间到容器视图以及固定顶部空间到标签 A 现在你的所有约束看起来像。 希望这会奏效。 但不要忘记将标签设置为 sizeToFitContent 和行数为 0 回答2 在您的情况下,最好的方法是创建另一个视图,在该视图上添加两个标签作为子视图。 约束有点难以设置,而且很容易出错

2022-05-10 02:12:17    分类:技术分享    ios   uitableview   uilabel   autolayout

iOS topLayoutGuide using a child view controller difference between iOS 7 and iOS 8

问题 基本上我正在尝试解决与这个问题相同的问题。 但是,当我在 iOS 8 上运行应用程序时,一切都按预期工作:子视图控制器使用自己的 topLayoutGuide,但其位置值根据父级设置的值正确设置。 但是,当我在 iOS 7 上运行时,孩子的 topLayoutGuide 与父母的不匹配。 为了使它起作用,iOS 8 中发生了什么变化? 如何将相同的行为应用于 iOS 7(可能不使用上述链接问题中提到的 swizzling 和其他巫术。)

2022-05-10 01:50:10    分类:技术分享    ios   ios7   ios8   autolayout   childviewcontroller