Tag: 自动

导航栏后面的search栏

给定3个控制器:A,B,C A有一个隐藏的导航栏。 通过StoryboardReference调用控制器B. 控制器B在viewDidLoad上显示导航栏。 它有一个search栏和一个collectionView。 看到我的故事板截图A. 调用控制器C如果一个单元格被点击。 问题:如果A调用B,则search栏位于导航栏后面(屏幕截图B)。 它从C到B的转换(截图C)出现。 导航栏已经是半透明的了。 有任何想法吗? 编辑 我意识到,我的animation过渡正在造成我的问题。 也许你可以发现错误? class ZoomInCircleViewTransition: NSObject, UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate { var transitionContext: UIViewControllerContextTransitioning? func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval { return 0.6 } func animateTransition(transitionContext: UIViewControllerContextTransitioning) { self.transitionContext = transitionContext guard let toViewController: UIViewController = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) else { return } guard let fromViewController = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) else […]

在iOS 7上的UITableViewCell之间绘制自定义分隔线

因为我有一些麻烦使用UITableViewCell之间的默认分隔线我想用我自己的。 所以我使用自动布局。 C#是我使用的语言。 您当然可以在Objective-C中提供解决scheme。 在我的自定义单元格的构造函数中添加我的视图UIView : separator = new DividerView (); ContentView.Superview.AddSubview (separator); 必须将其添加到超视图,否则它不会覆盖附件区域。 在updateConstraints我设置了我的约束: separator.TranslatesAutoresizingMaskIntoConstraints = false; this.ContentView.Superview.AddConstraints (NSLayoutConstraint.FromVisualFormat ("H:|[separator]|", (NSLayoutFormatOptions)0, null, viewsDictionary)); this.ContentView.Superview.AddConstraints (NSLayoutConstraint.FromVisualFormat ("V:|-(82@999)-[separator(1)]|", (NSLayoutFormatOptions)0, null, viewsDictionary)); 例如,这在iOS 8上工作,但不在iOS 7上。另外这个约束V:[separator(1)]| 可以在iOS 8上工作,但不能在iOS 7上工作。

如何通过故事板自动布局来适应tableview到导航栏下的superview

我想创build一个滚动禁用的tableview将填充导航栏下方的视图。 最后,我已经设法做到了,但这不是正确的方法,因为我给了tableview的负64边界(状态栏+导航栏)。 我正在从故事板分配我的约束。 我已经尝试了许多其他的约束与表视图像从四边或等宽+相等的高度+中心水平+中心垂直零约束没有任何工作。 什么是解决这个问题的正确途径。 下面是故事板的屏幕截图。

需要关于viewDidLayoutSubviews的帮助

关于viewDidLayoutSubviews Apple文档说: 当视图控制器视图的边界发生变化时,视图会调整其子视图的位置,然后系统会调用此方法。 但是, 调用此方法并不表示视图子视图的各个布局已被调整。 每个子视图负责调整自己的布局。 你的视图控制器可以重写这个方法来在视图布局子视图之后进行更改。 这个方法的默认实现什么也不做。 我有view1其中包含view2意味着view2是view1的子视图。 我正在为view2创build一个CALayer ,我希望它是view2大小。 我正在使用auto layouts因此我想在auto layout完成其工作时创buildCALayer ,以便可以为CALayer帧设置正确的值。 但在viewDidLayoutSubviews方法,我无法检测何时完全view2框架由auto layout设置,因为苹果文档也说 这个方法被调用并不表示视图的子视图的个别布局已被调整。 之后,苹果医生说 你的视图控制器可以重写这个方法来在视图布局子视图之后进行更改。 我很困惑什么时候auto layout将设置view2框架,所以我可以相应地设置我的CALayer框架。

内容拥抱优先级dynamic单元格大小

最近我有一个复杂的自动布局情况已经解决(感谢@Catalina吨)。 目前我遇到了内容拥抱优先问题。 我有4个dynamic标签可能包含巨大的文本,所以单元格应该适合内容。 有了目前的限制和优先事项,如果我把巨大的文本给所有的dynamic标签,它完美的作品(虽然其中一个将不会完全显示,而是会用点来裁剪)。 如果我将第三个标签的文本设置为一个巨大的自动布局变得疯狂…我得到这样的东西: 而我希望所有的标签都会被安排。 演示项目 。 如何解决这个问题? 先谢谢你!

自定义节标题formsxib的错误宽度

我无法使视图的宽度适应不同屏幕大小的表视图的大小 这是我在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 } 请记住,我不想把这个在故事板,而我正在使用自动布局。 有小费吗?

调整视图大小的其他方法,除了自动布局

我正在构build一个专门用于iPhone的应用程序,它只有一个肖像视图。 我以前从来没有用过自动布局,现在也没有时间去学习。 我可以使用其他任何东西,让我的意见调整自己的设备(iphone 4s,5 / 5s,6/6 +)?

在代码中设置的约束不会反映在输出(Autolayout iOS)

我有两个视图,我已经采取了故事板,但我没有在故事板中设置任何布局。我想设置它们的代码。所以这就是我所做的: 我读了一个视图的autoResizingMask属性和'translatesAutoResizingMaskIntoConstraints'。所以将'translatesAutoResizingMaskIntoConstraints'设置为'NO'是有道理的。所以我已经做了,但仍然无法以编程方式设置约束。现在,由于一些约束被自动设置在故事板上,当我们从故事板中获取观点时,我尝试了: [self.view removeConstraints:[self.view constraints]]; 这样做后,它会从超级视图(即self.view)中删除所有的默认约束。但是我仍然无法设置代码约束。我该怎么办?我需要一些指导。 这是我一直在使用的代码: [self.view setTranslatesAutoresizingMaskIntoConstraints:NO]; NSLayoutConstraint *layouts1 = [NSLayoutConstraint constraintWithItem:_redView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:_yellowView attribute:NSLayoutAttributeWidth multiplier:3.0f constant:100.0f]; [self.view addConstraint:layouts1];

我添加约束条件到底是哪个超级视图?

假设我有3个观点 A|———-| | B|—–| | | | C ▢ | | | |_____| | |__________| 如果我有一个约束,涉及视图B和视图C. 文档build议增加查看C将是非法的: 约束只能包含在接收视图范围内的视图。 具体来说,涉及的任何视图必须是接收视图本身或接收视图的子视图。 据说这个视图被添加到一个视图中的约束被保留下来。 评估约束时使用的坐标系是保存约束的视图的坐标系。 如果我将它添加到查看A或查看B,是否有关系? join一个超级视图而不是另一个有什么意义? 有什么方便的影响? (例如,如果所有的约束都在一个地方,它更容易pipe理?)

iOS 7 UITableViewCell与AutoLayout的冲突约束

基本上,我在单独的XIB文件中创build一个空的UITableViewCell。 层次结构显示在这里: https : //www.dropbox.com/s/nba8e5t7dvti7os/hierarchy.png 我想根据内容(通过更新约束常量)在运行时改变内部视图的高度,并基于这个计算单元格/行高度。 所以,如果我有很高的内容,我的行就会扩大,如果我的内容很短,我的行就会变小。 我想为这些计算使用AutoLayout。 我有限制,坚持ContentView的顶部/底部,并希望我的内部视图的高度= 20。 几乎立即我看到一个冲突: https : //www.dropbox.com/s/b3effgdw3t2768m/conflict.png 绝对是我对AutoLayout的理解不完整。 第一个问题是:我希望我的视angular是20pt高度,而我的ContenView是完全一样的大小,这是怎么回事? 第二个问题是:我如何实现这一目标?