Tag: 自动

如何使用iOS 6中的多个子视图自动布局现有的自定义视图

我想使用约束的布局,但我有许多内部嵌套Subviews的自定义控件。 而且我将约束添加到顶视图(CustomView),但没有正确布置子视图。 防爆。 我有TextFieldWithLabel类,它显示上方和下方的标签,我创build了TextFieldWithLabel实例的UITextField,并添加到具有约束的超级视图。 但没有按预期显示结果。 虽然它的可见,但不是我想要的地方。为此我不想改变整个TextFieldWithLabel类仇敌自动布局。 请帮忙! usernameTextField = [[TextFieldWithLabel alloc] initWithFrame:CGRectMake(0, 0, 100, 50) name:@"UserName"]; [usernameTextField setTranslatesAutoresizingMaskIntoConstraints:NO]; [superview addSubview:usernameTextField]; NSLayoutConstraint* myConstraint = [NSLayoutConstraint constraintWithItem:usernameTextField attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]; [superview addConstraint:myConstraint]; myConstraint = [NSLayoutConstraint constraintWithItem:usernameTextField attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:superview attribute:NSLayoutAttributeCenterX multiplier:1 constant:0]; [superview addConstraint:myConstraint]; 屏幕截图:这里没有居中,文本字段(RedColor)也是不可点击的。标签和文本字段放在TextFieldWithLabel中。 请注意:TextFieldWithLabel是ComponentView的子类,ComponentView是UIView的子类。所以我怀疑这可能是问题? 我是否也需要自动布局ComponentsView。

触发UITapGestureRecognizer后,NSLayoutConsstraint常量不会影响视图

我有一个视图( self.view )是用另一个视图(而不是图层)使用UIView.mask属性UIView.mask 。 在UIPanGestureRecognizer我安装了一个UIPanGestureRecognizer所以当我在屏幕上平移面具变得越来越小相应。 另外我安装在UITapGestureRecognizer ,它增加了animationUIImageView s到屏幕上,他们在UIBezierPath进行animationUIBezierPath 。 我正在更新面具的大小与约束。 问题是,我点击屏幕添加animation的意见后,我对面具约束的变化停止影响。 我可以在日志中看到确实改变了约束的常量,并且UIPanGestureRecognizer仍然在工作。 所以我的意思是说遮罩视图约束停止影响其视图。 这是为什么? 谢谢 video插图: https : //youtu.be/UtNuc8nicgs 这里是代码: class UICircle: UIView { init() { super.init(frame: .zero) self.clipsToBounds = true self.backgroundColor = .yellow self.isUserInteractionEnabled = false } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } var diameterConstraint: NSLayoutConstraint? var animating = […]

使用dynamic约束来alignment文本字段

我一直在学习如何制作iOS应用程序,并且遇到了一些小问题。 我找不到一个简单的方法来alignment我的文字input。 看下面的截图,你会看到我设法alignment我的文本字段,这是我想要的。 但是,我通过更改每个标签和文本字段之间的单独Leading Space来手动完成此操作。 我的问题是,我怎样才能dynamic地alignment我的文本字段?

利用锚自动布局边距

所以,我认为以下是相同的? # This is how I usually do contentView.leftAnchor.constraint(equalTo: leftAnchor, constant: 5).isActive = true contentView.topAnchor.constraint(equalTo: topAnchor, constant: 5).isActive = true contentView.rightAnchor.constraint(equalTo: rightAnchor, constant: -5).isActive = true contentView.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -5).isActive = true # This is what I tried. I expected the same result.. layoutMargins = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5) contentView.leftAnchor.constraint(equalTo: layoutMarginsGuide.leftAnchor).isActive […]

什么时候在容器环境中调用viewDidLoad?

我的情况如下所示: 我有不同的容器视图。 如果用户触发一个点击事件,我创build一个新的容器并调用一个方法,它设置了一个子视图控制器的内容。 我遇到的问题是当时的对象(在我的情况下是UIWebView )是可用的。 原因是viewDidLoad目前还没有被调用,webview没有设置。 现在我在构造函数中移动了webview的初始化。 这导致我的第二个问题: 在另一个容器上,我加载了相同的子视图控制器(Web视图)。 因为视图的边界在构造函数中不可用,所以我切换到了自动布局。 现在自动布局不能应用,因为没有超视图。 问题的原因是子视图的viewDidLoad在被添加到容器视图之前被调用(我设置了我的约束)。 所以没有superview可用的方面,我试图将其添加为子视图控制器。 然后我将自动布局设置移到updateViewConstraints中。 现在我想知道什么时候会调用viewDidLoad 。 在视图控制器的初始化之后我不能假设,因为这不是事实。 当我的子视图控制器准备好之后,我怎样才能可靠地传递数据? 我在这里做错了什么? 什么时候将viewDidLoad调用? 有时它在初始化之后被调用,有时不被…

在单元格使用AutoLayout时设置UICollectionViewCell大小

我有一个dynamic高度的UICollectionViewCell 。 它包含一个UIWebViewasynchronous加载一些内容。 加载后,它需要调整自己的大小以适应其内容。 我通过更改web view的高度约束来进行单元格大小调整。 我也发送一个委托方法到单元格调整的集合view controller ,我需要使布局无效。 但是,我得到有关冲突约束的自动布局错误。 看来收集视图正在尝试调整单元格的大小。 有谁知道如何使这个devise工作?

UITableViewCell内部的UIStackViews内部的UILabel有时会被截断

我有一个tableview单元格在我的一个表中设置为包含以下视图层次结构 外部水平堆栈视图固定在单元格的内容视图的尾部,前部,底部和顶部边缘。 正确的标签固定在它的父级stackViewHackView尾部,前部,底部和顶部边缘 在我的控制器代码中,我已经将单元格设置为dynamic高度以适应单元格的内容,以便它们可以根据内容大小增长或缩小 tableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 30.0 关于自动布局设置。 ( BOLD的相关优先事项) 外部水平堆栈视图 拥抱优先级的内容== 250 内容压缩抵抗优先级== 750 内部垂直堆栈视图 内容拥抱优先== 750 内容压缩抵抗优先级== 750 左标签1 内容拥抱优先== 750 内容压缩抵抗优先级== 750 左标签2 内容拥抱优先== 750 内容压缩抵抗优先级== 750 查看(只需将剩下的两个标签粘贴到堆栈视图的顶部) 拥抱优先级的内容== 250 内容压缩抵抗优先== h:750; 五:250 stackViewHackView(hack使多行标签在堆栈视图和单元格内正常生长) 拥抱优先级的内容== 250 内容压缩抵抗优先== h:250; 五:750 降低水平阻力以允许该视图压缩左堆视图以适合 正确的标签 拥抱优先级的内容== 250 内容压缩抵抗优先== h:250; 五:750 降低水平阻力以允许该视图压缩左堆视图以适合 我用一个简单的testing应用程序用下面的代码填充这个单元格的testing数据 override […]

如何添加约束到自定义表格视图单元格xib文件?

为了实现扩展自定义表格视图单元格,我使用了UITableViewCell的自定义xib文件。 但是我无法在该xib文件中find约束面板。 为了适应不同的设备尺寸,我必须设置拖尾约束。 在定制的xib文件中设置约束是不可能的?

如何使用Autolayout调整UIView的通用应用程序

我做了UIView与UIViewembedded里面。 我用约束来得到一个体面的UIView,但它仍然没有工作,我想要的方式,即使结果是好的。 我想得到同样的结果,我已经在iPhone 4.7英寸的iPhone 5.5英寸和4英寸。 为此,我想我需要调整blue UIViews但我不知道如何使他们自动resize从storyboard或programmaticaly。 我记得很久以前,我做了一个Android应用程序,这很容易,我只需要给出一个% bigger or lower的% bigger or lower 。 有没有办法与iOS做到这一点?

如何创build一个固定的导航栏iOS Swift

我想创build一个固定的头,不滚动tableViewCells,或我有其他内容。 标题应该保持原样 ,就像在大多数iOS应用程序中一样。 这是我面临的问题的形象: 我试图将其embedded到NavigationController和TabViewController中。 这没有用。 我也尝试添加一个滚动视图。 我提到这个链接,但它已经过时了,并没有帮助: 如何iPhone的Facebook应用程序使导航栏修复 谢谢。