Tag: 自动布局

确定animation时的约束常量

我有一个视图控制器的顶部和底部视图设置如下: —————- | | | | | | | | —————- < constraint with constant of 250 | | | | | | | | —————- 在IB中使用AutoLayout,我将每个视图设置为符合父级的外部,并给定中心约束250的常量。 然后我有一个IBOutlet我可以animation的中心约束: // MARK: – View Containers @IBOutlet weak public var topView: UIView! @IBOutlet weak public var bottomView: UIView! // MARK: – Constraints @IBOutlet weak var splitViewDividerConstraint: NSLayoutConstraint! 和animation: […]

uiview上的圆angular半径不按预期工作

cornerRadius = (view.frame.size.height / 2.0) 似乎没有按预期工作。 如何解决这个问题? 可能是什么问题? 输出屏幕 –

自动布局约束以编程方式修改时,查看不更新

在修改第二个约束(第一个工作正常)后,我无法正确地将自己的视图放在正确的位置。 我正在修改一个约束,animation它,然后修改完成块中的另一个约束(没有animation)。 我这样做的理由是我不希望第二个约束更改影响animation,但我希望它立即生效,只要初始animation完成。 问题是第二个约束变化根本不起作用,不pipe我尝试什么。 这是我想要的(注意问题只在toolbarVisible为YES ,因为我在前面执行这两个animation的时候是NO ): if ( !toolbarVisible ) self.containerViewBottomSpace.constant = toolbarVisible ? 60.f : 0; self.toolbarBottomSpace.constant = toolbarVisible ? 0 : 60.f; // this one works fine [self.view setNeedsUpdateConstraints]; [UIView animateWithDuration:0.3f animations:^{ [self.view layoutIfNeeded]; } completion:^(BOOL finished) { if ( toolbarVisible ) self.containerViewBottomSpace.constant = 60.f; // this one is not taking effect […]

具有多个tableviews的iOS 6 AutoLayout全部dynamic高度

好吧,我卡住了。 在我的应用程序中,我有一个产品视图。 在这个视图中,滚动视图中有两个嵌套的表视图。 第一个tableview只有一个单元格,并保存静态文本。 这个文本的长度是基于你select哪一个基于dynamic的。 第二个tableview由多个单元格组成,这个单元格基于多less个子产品链接到该产品。 所以在iOS 5中,根据文本在第一个表格视图中的大小,dynamic移动每个表格视图的框架非常容易。 我可以总结所有表视图的高度,这将是滚动视图的高度。 问题是当我打开汽车布局时,事情变得很严重。 从我的理解滚动视图已经改变。 我们不能使用滚动视图的框架或内容大小。 所以我做的第一件事就是改变了一切。 我做了以下。 CGSize descriptionSize = [descriptionDetail sizeWithFont: [UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(320, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping]; self.theScroller.translatesAutoresizingMaskIntoConstraints= NO; [self.theScroller setContentInset:UIEdgeInsetsMake(0, 0, (descriptionSize.height+ (43 * [Solution count])), 0)]; 现在这上面的工作完美无瑕。 滚动视图很好地滚动,并且在自动布局上是正确的高度。 现在我坚持的部分是,如何根据描述的长度或第二个表视图中有多less个单元格来dynamic移动这两个表格视图? 表格视图的框架似乎对它们所在的位置没有任何影响。 我试着用这个限制来搞乱,但似乎没有任何地方。 任何帮助将不胜感激。 谢谢

即使内容/压缩设置为1,图像也会增长

这是我想要以编程方式创build的: 所以这是一个UIView,里面有一个UIImageView和一个UILabel。 一些说明: 图像应该始终是1:1 图像的高度应与标签的高度相同 如果标签中的文字变宽,视图也应该变宽。 视图的高度应该适应标签的高度,所以我没有设置UIView的高度约束。 看到这个github项目的例子是我想要的: https : //github.com/Jasperav/constrains 这是我的代码,你可以复制粘贴这个,但确保你为UIImageView的图像设置另一个string: class View2: UIView{ override init(frame: CGRect) { super.init(frame: frame) load() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) load() } func load(){ let overlappingView = UIView() overlappingView.translatesAutoresizingMaskIntoConstraints = false self.addSubview(overlappingView) let label = UILabel() label.translatesAutoresizingMaskIntoConstraints = false label.text = "0" label.textColor = .white […]

为iPhone和iPad布局静态表格单元格

我相当新的iOS开发和故事板非常新。 我想创build一个基本的forms使用静态单元格和“分组”风格的UITableView。 我希望只能制作一个故事板,并将其用于iPhone和iPad,不确定是否推荐这种方式,但是我没有devise特定于任何设备的元素,所以会出现很多重复的情况我为这两个设备系列维护一个单独的故事板。 所以我将一个标签拖到我的表格单元格的左侧,并将文本input到右侧,然后使用自动布局并设置一些约束条件: – 标签具有领先的空间,超级视图为30 – TextField具有超级视图的尾部空间30 – 标签和文本域之间的水平间距约束 – 标签上的固定宽度约束 它在iPhone上效果很好,但是在iPad上,标签和文本字段超出了表格单元格的边缘。 这是因为iPad在表格单元的左侧和右侧具有更宽的边界(比我使用的宽度更宽)。 这很明显,为什么它不工作。 我想我的问题是,这是一个常见的情况,我怀疑有一个简单的解决scheme。 有兴趣听取build议。 有没有办法将标签和文本字段限制在单元格的边缘而不是表格的边缘? 如果不是,我应该: 复制iPhone和iPad的故事板 使用像QuickDialog一样的表单库 以编程方式添加和排列标签和文本框 还有其他build议吗? 以下是一个显示自动布局约束的屏幕截图: 这就是布局在iPad上的performance:

Autolayout在不同的屏幕尺寸上始终显示相同的尺寸

我有一个看法: 有人可以帮我布置这些视图,他们都看起来每个iPhone都一样吗? 我的意思是大小是dynamic的,并根据屏幕大小缩小视图。 我尝试了方面配给和其他布局选项,但没有任何帮助。

自动布局:在单独的窗口中的两个视图之间创build约束

是否有可能以编程方式创build两个视图之间的独立窗口中的约束? 如果是这样的话,我可以考虑一个可能的改进来回答“在类似于iMessage应用的键盘上的UIView” 。 我可以设置tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive ,其中tableView显示消息,并使用dummyInputAccessoryView 。 然后,我想使用自动布局来将dummyInputAccessoryView的高度约束到包含inputTextView & sendButton的toolbar的高度,以及toolbar的top of to that of dummyInputAccessoryView`的高度。

滚动视图大小与Autolayout:框架是紧凑型/任何尺寸的类600×480,大于iphone5?

我希望我的scrollview的框架与superview框架的大小相同。 并设置contentize,使其包含所有的imageViews。 问题是与AutoLayout,宽度和高度是600×480,我使用的iPhone5和尺寸类是W:紧凑/小时:任何。(我期望像这样的:320×523)。 我的约束是:与超视图相等的宽度,与超视图(乘法器0.8)相等的高度,水平中心X和垂直中心Y. let pagesScrollViewSize = scrollView.frame.size println("pagesScrollViewSize : \(pagesScrollViewSize)") //600×480 scrollView.contentSize = CGSizeMake(pagesScrollViewSize.width * CGFloat(pageCount), pagesScrollViewSize.height) 会有人知道如何解决这个问题吗? imageview显示比屏幕的框架更大,所以.SizeAspectFit不符合正确的尺寸。 而不是滚动到另一个imageView,它滚动查看图像的其余部分,我不想要的。 编辑: 这是ViewController.swift中的整个代码: class ViewController: UIViewController, UIScrollViewDelegate { @IBOutlet weak var pageControl: UIPageControl! @IBOutlet weak var scrollView: UIScrollView! var pageViews: [UIImageView?] = [] var pageImages : [UIImage?] = [] override func viewDidLoad() { super.viewDidLoad() pageImages […]

AutoLayout:以视图中心为中心

我想用UIImageView和UILabel创build自定义的UIView 。 UIImageView应该可以自动resize的图像大小和UILabel应该可以自动resize垂直文本内容。 你能帮我创造一些限制吗? 我需要dynamic视图的中心: UIIamgeView和UILabel应该在我的自定义视图的中心。