草庐IT

Constraints

全部标签

ios - Swift - UIScrollView 的约束问题(以编程方式)

我最近在我的ViewController中添加了一个ScrollView。但是,这导致我的布局完全困惑。下面是一张图片。(我给了UIScrollView一个临时的红色背景来显示,它显然是在全屏显示)现在。在这个View中我有很多东西。但为简单起见,我将重点关注顶部的蓝色条,在我的应用中称为“topBar”首先,我在我的类中定义它。vartopBar=UIView()我删除了自动调整大小,为其添加颜色并将其添加到我的ScrollView中。//-----------------topBar---------------//topBar.setTranslatesAutoresizingM

ios - 如何以编程方式设置 UILabels 的约束,其中 Label Count 等于 Swift 中的主屏幕高度

我想创建这个格式label1|label2|label3|label4label5|label6|label7|其中标签计数等于View高度。并且还想设置约束。下面的代码是创建UILabels:foriin0...Int(self.view.frame.height){letlabel=UILabel(frame:CGRect(x:0,y:0,width:50,height:50))label.textAlignment=NSTextAlignment.centerlabel.text="label"label.sizeToFit()self.view.addSubview(label

ios - Swift - UITableViewCell 类 contentView 以编程方式约束没有宽度

classCell:UITableViewCell{varmyImage:UIImageView=UIImageView()overrideinit(style:UITableViewCellStyle,reuseIdentifier:String!){myImage.setTranslatesAutoresizingMaskIntoConstraints(false)time.setTranslatesAutoresizingMaskIntoConstraints(false)contentView.addSubview(userImage)contentView.addSubvie

class - 在泛型类中使用泛型协议(protocol)

我定义了一个协议(protocol)LLNodeType:protocolLLNodeType{typealiasTvarfirstNode:LLNode?{get}}LLNode只是一个简单的泛型类,它包含一个类型为N的存储属性.classLLNode{varcontent:N...}为了符合LLNodeType因此我扩展了协议(protocol)LLNode如下:extensionLLNode:LLNodeType{typealiasT=NvarfirstNode:LLNode?{returnself}}我还定义了一个泛型类LLLinkedList包含一些使用通用类型的属性和函数L

ios - 使用 setTranslatesAutoresizingMaskIntoConstraints(false) 在 UIView 中添加为 subview 时,不会调用 UIButton 操作

我有一个以编程方式创建的UIButton,为事件“UIControlEvents.TouchUpInside”添加了“按下”功能。但是当添加为UIView的subview时,不会调用“按下”方法。下面提供代码供您引用。但是,当我删除setTranslatesAutoresizingMaskIntoConstraints(false)时它会起作用。我需要使用此方法来自动调整布局大小。varmyView=UIView()letorderBook=UIButton()overridefuncviewDidLoad(){super.viewDidLoad()myView.backgroundC

swift - 添加带有约束的 subview 不起作用

我想添加一个带有一些约束的subview。但是我的View没有出现。下面是一些代码,有人知道哪里出了问题吗?(如果我添加一个UITextField,例如它工作正常...)classTestViewController:UIViewController{overridefuncviewDidLoad(){//Donotwork...addAndLayout(v:UIView(frame:CGRect(x:0,y:0,width:0,height:0)))//Worksfine//addAndLayout(v:UITextField(frame:CGRect(x:0,y:0,width:0

ios - 按下取消按钮时隐藏搜索栏,并调整导航栏的大小

我在导航栏中使用UISearchController实现了一个搜索栏。还有一个TableView,其顶部约束设置为导航栏的底部。期望的行为:按下取消按钮时,搜索栏被隐藏,表格View的顶部约束恢复到搜索栏被删除之前的状态(参见屏幕截图#1在这篇文章的末尾)当前行为:按下取消按钮时,搜索栏消失但tableView的顶部约束没有响应更改(参见屏幕截图#3)此问题的一个可能解决方案是在单击取消按钮时手动更新约束。但是,我找不到从UISearchBarDelegate方法searchBarCancelButtonClicked访问tableView约束的方法代码片段:classViewCont

ios - 使用 TopLayoutGuide 的制图约束

我有一个View,我希望它看起来像这样:|---------------|||我想要的只是将topView.top粘贴到navBar.bottom。我决定使用制图并实现以下代码(尝试坚持使用MVCofc):在我的UIViewController子类中:overridefuncviewWillLayoutSubviews(){super.viewWillLayoutSubviews()aView?.topLayoutGuide=self.topLayoutGuide//whereaViewismysubclassofUIView,insertedinloadViewmethod}在我的U

ios - Swift:删除影响或 Hook UIView 的约束?

有什么方法可以移除影响UIView的约束?在这个例子中是一个按钮(UIButton)。topConstraint=NSLayoutConstraint(item:button,attribute:.Top,relatedBy:.LessThanOrEqual,toItem:rowView,attribute:.Top,multiplier:1.0,constant:12.0)bottomConstraint=NSLayoutConstraint(item:button,attribute:.Bottom,relatedBy:.Equal,toItem:rowView,attribute

ios - 自动布局 UITextField 以适应 UINavigationBar

我一直在尝试调整UITextField的大小以适应和拉伸(stretch)整个UINavigationBar,但没有成功。我知道这是世界上最简单的问题,但我却浑然不觉。 最佳答案 这不是世界上最简单的问题。事实上,它相当棘手。你不能使用约束来做到这一点。UINavigationBar负责布置其subview。Xcode知道这一点,所以它不允许您在文本字段上设置约束。导航栏通过发送sizeThatFits:询问您的文本字段需要多大,并提供最大允许大小,因此一种方法是创建UITextField返回最大值。这有效:@implementat