天道酬勤,学无止境

autolayout

NSLayoutConstraint 将视图固定到超级视图的底部边缘(NSLayoutConstraint that would pin a view to the bottom edge of a superview)

问题 一个可复制的例子 class ViewController: UIViewController { var created = false override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() if !created { let scrollView = UIScrollView() scrollView.backgroundColor = UIColor.grayColor() view.addSubview(scrollView) let kidView = UIView() kidView.backgroundColor = UIColor.redColor() kidView.translatesAutoresizingMaskIntoConstraints = false scrollView.addSubview(kidView) scrollView.translatesAutoresizingMaskIntoConstraints = false kidView.translatesAutoresizingMaskIntoConstraints = false view.addConstraints( NSLayoutConstraint

2021-09-24 07:46:33    分类:技术分享    ios   swift   cocoa-touch   autolayout

How do I change the font size according to screen size

I have added min font size to label but the font is not changing according to the screen size. I thought setting min font size and using autolayout is to scale the label height is enough. But its not happening.

2021-09-24 04:56:24    分类:问答    ios   fonts   autolayout   uilabel   constraints

Xcode Auto Layout Resizing Issue

I am trying to use Auto Layout on multiple buttons and features on my Xcode application, however when I try to auto layout one of the buttons the size of it changes As shown here: http://imgur.com/a/EuBBe I have used this on labels and sometimes it doesn't change its size but on others it does. How can I stop this from happening? Thanks

2021-09-24 03:28:11    分类:问答    ios   xcode   autolayout

根据屏幕尺寸,两个 UIButton 之间的距离? [关闭](Distance between two UIButtons according to screen size? [closed])

问题 关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来关注一个问题。 6年前关闭。 改进这个问题 我们如何放置约束,例如 在高度为“568 点”的屏幕中,两个按钮之间的垂直距离必须为“20 点”,并且必须是高度为“667 点”的屏幕中的“25 点”? 回答1 我认为您希望所有设备屏幕的按钮之间的间隙都是动态的。 这是您可以用来实现这一目标的方法。 我认为您不想每次都为检查所有设备分配确切的值。 使用 alpha 0 和清晰颜色的 UIView 并使用它代替间隙,并将这些约束用于间隙视图。 1) 顶部按钮和间隙视图之间的垂直间距为 0。 2) 底部按钮和间隙视图之间的垂直间距为 0。 3) 与顶部或底部按钮等宽。 4) 将 X 居中到顶部按钮或底部按钮。 5)主视图的比例高度(您可以通过从子视图添加相等的高度到任何超级视图然后通过更改乘数来添加此约束); 并且您的 GapView 会相应地增加和减少。 回答2 首先用这个获取屏幕高度: var bounds = UIScreen.mainScreen().bounds var height = bounds.size.height 之后,您可以使用高度以这种方式设置约束: switch height { case 568: buttonSpecing.constant = 20

2021-09-24 01:14:03    分类:技术分享    ios   swift   autolayout

根据屏幕尺寸,两个 UIButton 之间的距离? [关闭](Distance between two UIButtons according to screen size? [closed])

问题 关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来关注一个问题。 6年前关闭。 改进这个问题 我们如何放置约束,例如 在高度为“568 点”的屏幕中,两个按钮之间的垂直距离必须为“20 点”,并且必须是高度为“667 点”的屏幕中的“25 点”? 回答1 我认为您希望所有设备屏幕的按钮之间的间隙都是动态的。 这是您可以用来实现这一目标的方法。 我认为您不想每次都为检查所有设备分配确切的值。 使用 alpha 0 和清晰颜色的 UIView 并使用它代替间隙,并将这些约束用于间隙视图。 1) 顶部按钮和间隙视图之间的垂直间距为 0。 2) 底部按钮和间隙视图之间的垂直间距为 0。 3) 与顶部或底部按钮等宽。 4) 将 X 居中到顶部按钮或底部按钮。 5)主视图的比例高度(您可以通过从子视图添加相等的高度到任何超级视图然后通过更改乘数来添加此约束); 并且您的 GapView 会相应地增加和减少。 回答2 首先用这个获取屏幕高度: var bounds = UIScreen.mainScreen().bounds var height = bounds.size.height 之后,您可以使用高度以这种方式设置约束: switch height { case 568: buttonSpecing.constant = 20

2021-09-24 01:12:20    分类:技术分享    ios   swift   autolayout

UITableViewCell doesn't work unless I add views to a container view rather than contentView

Background This is in reference to this post (TLDR; UITableViewCell heights should be calculated automatically if you are using Auto Layout properly). Problem If I add the views directly to contentView, I keep on getting this error: 018-11-25 02:17:33.514881+0200 [78571:855018] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "

2021-09-23 23:24:41    分类:问答    ios   swift   swift4.2   autolayout   pure-layout

Autolayout 在旋转时改变 UIScrollView 的 contentOffset(Autolayout is changing UIScrollView's contentOffset on rotation)

问题 为了试验 autolayout 和 uiscrollview's 我一直在使用这个例子 我已将其编辑为在滚动视图中包含 2 个视图,我已设置自动布局约束以将视图水平放置并设置为填充滚动视图框架的大小。 UIView *beeView = [[[NSBundle mainBundle] loadNibNamed:@"BeeView" owner:nil options:nil] firstObject]; beeView.translatesAutoresizingMaskIntoConstraints = NO; [self.scrollView addSubview:beeView]; UIView *beeView2 = [[[NSBundle mainBundle] loadNibNamed:@"BeeView" owner:nil options:nil] firstObject]; beeView2.backgroundColor= [UIColor orangeColor]; beeView2.translatesAutoresizingMaskIntoConstraints = NO; [self.scrollView addSubview:beeView2]; NSDictionary *views = @{@"beeView":beeView,@

2021-09-23 22:34:12    分类:技术分享    ios   objective-c   uiscrollview   autolayout

Custom UITableViewCell height changes when moved

I am using Autolayout and estimatedHeightForRowAtto dynamically change cell height. This is the code I am using: var heightAtIndexPath = NSMutableDictionary() func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { let height = self.heightAtIndexPath.object(forKey: indexPath) if ((height) != nil) { return CGFloat(height as! CGFloat) } else { return UITableViewAutomaticDimension } } func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) { let height = cell.frame.size.height self.heightAtIndexPath

2021-09-23 21:13:24    分类:问答    ios   swift   uitableview   autolayout   cell

视图加载后 iOS 自动布局约束的跳转(iOS Auto Layout Constraint's Jumping After View Has Loaded)

问题 在这里制作了一个快速视频来演示这个问题:https://vid.me/9kB5 当我删除约束时,文本不会在加载视图时跳转。 但随后它就违背了目的。 当我设置约束时,我使用了“重置为建议的约束” 有任何想法吗? 回答1 这不是约束问题。 您的视图位于导航栏下方。 您可以通过取消选中页面视图控制器场景中的“扩展边缘 - 顶栏下方”来修复故事板。 在代码中 - (void)viewDidLoad { [super viewDidLoad]; self.edgesForExtendedLayout = UIRectEdgeNone; } 回答2 不过,Hari Kunwar 的回答对我不起作用。 有效的是改变我视图的顶部约束(那个跳跃的......也是顶部的那个)。 我的顶部约束是顶部布局指南 - 我删除了它,现在当我添加时,我选择了约束常量附近的小箭头,并选择了视图而不是顶部布局指南......

2021-09-23 16:34:08    分类:技术分享    ios   autolayout   constraints

Swift 2.0 约束与VisualFormat(Swift 2.0 constraintsWithVisualFormat)

问题 我在 Swift 2.0 中遇到 AutoLayout 的奇怪问题 self.webView = WKWebView() self.view.addSubview(self.webView!) var viewBindingsDict: NSMutableDictionary = NSMutableDictionary() viewBindingsDict.setValue(self.webView, forKey: "webView") self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[webView]|", options: 0, metrics: nil, views: viewBindingsDict)) self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[webView]|", options: 0, metrics: nil, views: viewBindingsDict)) 我收到错误: 'String' is not convertible to 'StringLiteralConvertible' 对于“H:|[webView]|” 和“V:|

2021-09-23 14:18:17    分类:技术分享    swift   autolayout   swift2