removeFromSuperview功能无法正常工作
我有六个imageviews,我将它们设置是这样的:removeFromSuperview功能无法正常工作
img1 img2 img3 img4 img5 img6
但是当我用removeFromSuperview
功能等imageviews不会出现找删除img1
。例如,如果我删除img1
,其他imageviews出现在对方:
img23456
我不想使用hide
功能,因为它们之间的空间将出现。在另一方面
' ' img2 img3 img3 img4 img5 img6
,我要的是,如果img1
移除(不含第一个空格):例如,如果我删除img1
img2 img3 img3 img4 img5 img6
我的布局:
更新
我的代码:
if(self.job.wifi == "1")
{
self.img_option_1.isHidden = false
self.img_option_1.image = UIImage(named: "wififree")
}else{
self.img_option_1.removeFromSuperview()
}
if(self.job.apple_health == "1")
{
self.img_option_2.isHidden = false
self.img_option_2.image = UIImage(named: "sib_noghrei")
}else{
// self.img_option_2.removeFromSuperview()
self.img_option_2.removeFromSuperview()
}
if(self.job.wc == "1")
{
self.img_option_3.isHidden = false
self.img_option_3.image = UIImage(named: "wc")
}else{
self.img_option_3.removeFromSuperview()
}
if(self.job.full_time == "1")
{
self.img_option_4.isHidden = false
self.img_option_4.image = UIImage(named: "fulltime")
}else{
self.img_option_4.removeFromSuperview()
}
if(self.job.pos == "1")
{
self.img_option_5.isHidden = false
self.img_option_5.image = UIImage(named: "pos")
}else{
self.img_option_5.removeFromSuperview()
}
if(self.job.parking == "1")
{
self.img_option_6.isHidden = false
self.img_option_6.image = UIImage(named: "parking")
}else{
self.img_option_6.removeFromSuperview()
}
所以,问题是,如果你从你的SuperView删除IMG1UIImageView
。您在连接到您删除会失败的人,因为他们连接到IMG1UIImageView
的UIImageViews
其余约束。
硬解:您需要更新/连接/添加约束每一个UIImageView
,当你从上海华通过代码移除“链”的东西。
更好的解决方案:(最佳实践)
删除所有UIImageViews
,并添加一个UICollectionView
。
添加一个UIImageView
到小区,根本delete
或add
细胞如你所愿,和UICollectionView
将处理所有的布局你。
@潜行的答案是解决这个问题的标准方式。
我有一个想法更加分享,这是我在我的应用程序使用。
充分利用spacing
constraints
为眼前的左UIImageView
的multiplied
constant
。
然后取img的width
constraint
的IBOutlet
。然后改变你的其他部分这样的 - >
else{
widthImg1.constant = 0
}
现在的间距也将变为零,因为它是一个相乘常数。
我在我的答案中有2个解决方案,更新约束是其中之一:)然而,好的工作,你给了一个详细的例子和解决方案的代码和解释!会为此赞赏你。 – 2017-03-05 20:34:32
感谢您的编辑。我将来会记住我的答案的质量。 – Naresh
这是什么语言,Swift?你是如何添加6个UIImageViews的:img1 img2 img3 img4 img5 img6?如果我在Swift中输入那样的话,我可以添加6个UIImageViews吗? – 2017-03-05 19:59:21
我的语言是'快速'。 –
@ S.M_Emamian为了更容易地帮助你并理解你在做什么,添加你的代码而不是img 1 img 2 img 3 img 4 ...截至目前,我认为没有人会理解你正在尝试做什么问题是什么。也许你也可以添加图片以及使用者界面发生的事情。 – 2017-03-05 20:01:56