Xcode 视觉格式语言:";Swift";图像约束不起作用

Xcode 视觉格式语言:";Swift";图像约束不起作用,xcode,swift,visual-format-language,Xcode,Swift,Visual Format Language,我在构建约束方面遇到了问题。我是一个使用视觉格式语言的新手。我需要帮助。我对两幅图像设置了约束条件,高度可以,但水平位置是关闭的。它们似乎用不同的设备放置在不同的长度上。我试着让它们在一个按钮中居中,但不管手机的宽度如何,左右两侧的两个图像始终遵循-70。我如何告诉它调整到手机的宽度?哦,考虑到我有图像StutsTraseAutoReistin MasktoTo约束(false)< /P> //约束视图 让视图=[“视图”:视图, “topHeader”:topHeader, “topBanne

我在构建约束方面遇到了问题。我是一个使用视觉格式语言的新手。我需要帮助。我对两幅图像设置了约束条件,高度可以,但水平位置是关闭的。它们似乎用不同的设备放置在不同的长度上。我试着让它们在一个按钮中居中,但不管手机的宽度如何,左右两侧的两个图像始终遵循-70。我如何告诉它调整到手机的宽度?哦,考虑到我有图像StutsTraseAutoReistin MasktoTo约束(false)< /P>
//约束视图
让视图=[“视图”:视图,
“topHeader”:topHeader,
“topBannerView”:topBannerView,
“背景视图”:背景视图,
“WollogView”:WollogView,
“backGround2View”:backGround2View,
“pictureView”:pictureView,
“wolMottoView”:wolMottoView,
“菜单按钮”:菜单按钮,
“ButtonNuView”:ButtonNuView,
“featListings”:featListings,
“滚动视图”:滚动视图,
“按钮1”:按钮1,
“busLogoView”:busLogoView,
“按钮2”:按钮2,
“classLogoView”:classLogoView,
“按钮3”:按钮3,
“forwardLogoView”:forwardLogoView,
]
//约束条件-----------------------------------------------------
//背景
var constHBackground=NSLayoutConstraint.constraintsWithVisualFormat(“H:|[backGround2View]|”,选项:无,指标:无,视图:视图)
view.addConstraints(constHBackground)
var constVBackground=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-17-[backGround2View(>=100)]-0-[backGroundView(=backGround2View)]|”,选项:无,指标:无,视图:视图)
view.addConstraints(constVBackground)
//上头
var constHHeader=NSLayoutConstraint.constraintsWithVisualFormat(“H:[视图](=0)]-0-[背景视图]|”,选项:无,指标:无,视图:视图)
view.addConstraints(constVPic)
//沃尔格马特
var consthwolmott=NSLayoutConstraint.constraintsWithVisualFormat(“H:|-20-[wolMottoView(>=0)]-20-|”,选项:无,指标:无,视图:视图)
view.addConstraints(consthwolmotn)
var constvwolmott=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-69-[wolMottoView(35)]|”,选项:无,度量:无,视图:视图)
view.addConstraints(constvwolmotn)
//菜单按钮
var constHMenuButton=NSLayoutConstraint.constraintsWithVisualFormat(“H:|[menuButton(40)]|”,选项:无,度量:无,视图:视图)
view.addConstraints(constHMenuButton)
var constVMenuButton=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-22-[menuButton(40)]|”,选项:无,度量:无,视图:视图)
view.addConstraints(constVMenuButton)
//按钮菜单视图
var constHButtonMenu=NSLayoutConstraint.constraintsWithVisualFormat(“H:|[ButtonNuView(=menuButton)]|”,选项:无,度量:无,视图:视图)
view.addConstraints(constHButtonMenu)
var constVButtonMenu=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-20-[ButtonNuView(=menuButton)]|”,选项:无,指标:无,视图:视图)
view.addConstraints(constVButtonMenu)
//壮举
var constHFeatListing=NSLayoutConstraint.constraintsWithVisualFormat(“H:|-0-[featListings]|”,选项:无,指标:无,视图:视图)
view.addConstraints(consthFeatList)
var constVFeatListing=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-85-[pictureView][featListings][scrollView]-130-|”,选项:无,指标:无,视图:视图)
view.addConstraints(constvFeatList)
//按钮3
var constHButton3=NSLayoutConstraint.VisualFormat约束(“H:|-(>=0)-[button3(100)]-(=0)-[forwardLogoView(23)]-(=0)][scrollView]-130-|”,选项:无,度量:无,视图:视图)
view.addConstraints(constVForwardLogoView)
//滚动视图
var constHScrollView=NSLayoutConstraint.constraintsWithVisualFormat(“H:|[scrollView]|”,选项:无,度量:无,视图:视图)
view.addConstraints(constHScrollView)
var constVScrollView=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-85-[pictureView]-30-[scrollView(>=0)]-130-|”,选项:无,度量:无,视图:视图)
view.addConstraints(constVScrollView)
//按钮1和按钮2
var constHButton1=NSLayoutConstraint.constraintsWithVisualFormat(“H:|-15-[button1(=0)]-20-[button1(80)]-25-|”,选项:无,度量:无,视图:视图)
view.addConstraints(constVButton1)
var constVButton2=NSLayoutConstraint.constraintsWithVisualFormat(“V:|-85-[pictureView]-30-[scrollView(>=0)]-20-[button2(80)]-25-|”,选项:无,指标:无,视图:视图)
view.addConstraints(constVButton2)
//busLogoView和classLogoView
var constHBusLogoView=NSLayoutConstraint.constraintsWithVisualFormat(“H:|-50-[busLogoView]-100-[classLogoView(=busLogoView)]-50-|”,选项:无,指标:无,视图:视图)
view.addConstraints(constHBusLogoView)
var constVBusLogoView=NSLayoutConstraint.VisualFormat约束(“V:|-85-[pictureView]-30-[scrollView(>=0)]-20-[busLogoView(=0)]-20-[classLogoView(=busLogoView)]-45-|”,选项:无,度量:无,视图:视图)
view.addConstraints(constVClassLogoView)

我知道这很难看哈哈。就像我说的,这是我第一次做约束。对不起

好的,只需编辑您的约束即可删除过度约束的视图,我可以将其归结为

// busLogoView and classLogoView
var constHBusLogoView = NSLayoutConstraint.constraintsWithVisualFormat("|-70-[busLogoView][classLogoView(==busLogoView)]-70-|", 
                                                                       options: nil,
                                                                       metrics: nil,
                                                                       views: views)
view.addConstraints(constHBusLogoView)
var constVBusLogoView = NSLayoutConstraint.constraintsWithVisualFormat("V:|-85-[pictureView]-30-[scrollView]-20-[busLogoView(<=50)]-45-|",
                                                                       options: nil,
                                                                       metrics: nil,
                                                                       views: views)
view.addConstraints(constVBusLogoView)
var constVClassLogoView = NSLayoutConstraint.constraintsWithVisualFormat("V:[scrollView]-20-[classLogoView(==busLogoView)]-45-|",
                                                                         options: nil,
                                                                         metrics: nil,
                                                                         views: views)
view.addConstraints(constVClassLogoView)

你能告诉我你的观点是什么吗?而且,您过度限制了视图。在t
// busLogoView and classLogoView
var constHBusLogoView = NSLayoutConstraint.constraintsWithVisualFormat("|-70-[busLogoView][classLogoView(==busLogoView)]-70-|", 
                                                                       options: nil,
                                                                       metrics: nil,
                                                                       views: views)
view.addConstraints(constHBusLogoView)
var constVBusLogoView = NSLayoutConstraint.constraintsWithVisualFormat("V:|-85-[pictureView]-30-[scrollView]-20-[busLogoView(<=50)]-45-|",
                                                                       options: nil,
                                                                       metrics: nil,
                                                                       views: views)
view.addConstraints(constVBusLogoView)
var constVClassLogoView = NSLayoutConstraint.constraintsWithVisualFormat("V:[scrollView]-20-[classLogoView(==busLogoView)]-45-|",
                                                                         options: nil,
                                                                         metrics: nil,
                                                                         views: views)
view.addConstraints(constVClassLogoView)
// busLogoView and classLogoView
var constHBusLogoView = NSLayoutConstraint.constraintsWithVisualFormat("|-70-[busLogoView][classLogoView(==busLogoView)]-70-|", 
                                                                       options: nil,
                                                                       metrics: nil,
                                                                       views: views)
view.addConstraints(constHBusLogoView)
var constVBusLogoView = NSLayoutConstraint.constraintsWithVisualFormat("V:[scrollView]-20-[busLogoView(<=50)]-45-|",
                                                                       options: nil,
                                                                       metrics: nil,
                                                                       views: views)
view.addConstraints(constVBusLogoView)
var constVClassLogoView = NSLayoutConstraint.constraintsWithVisualFormat("V:[scrollView]-20-[classLogoView(==busLogoView)]-45-|",
                                                                         options: nil,
                                                                         metrics: nil,
                                                                         views: views)
view.addConstraints(constVClassLogoView)