我想在我创建的行表的顶部显示UIPickerView。但是,当我将UIPickerView放在情节提要上并显示/隐藏时,它在Picker所在的位置留出空白。如何完全删除选择器并使其余行填充空间?
编辑:我终于解决了这个问题。很难找到正确的信息。很多答案都说要设置一个高度限制出口,我尝试这样做,但是没有办法将IB的高度出口插入我的代码中。我什至尝试将其放入堆栈视图,也无法使插座正常工作。但是我能够获得帧大小并像这样设置帧大小:
// hide
StoryTypePickerView.isHidden = true
let size = StoryTypePickerView.frame.size
StoryTypePickerView.frame.size = CGSize(width: size.width, height: 0)
// show
StoryTypePickerView.isHidden = false
let size = StoryTypePickerView.frame.size
StoryTypePickerView.frame.size = CGSize(width: size.width, height: 100)
如果有更好的方法,我很高兴听到。暂时对我有用。
答案 0 :(得分:2)
在要显示Pickerview时,将Pickerview的高度设置为Ex(self.height.constant = 160),当要隐藏Pickerview时,将Pickerview的高度设为0。
答案 1 :(得分:1)
创建视图在表视图上方包括日期选择器,并为容器视图提供高度限制。当您隐藏视图时,将较高的contrints值设置为0,反之亦然...希望它将起作用!
答案 2 :(得分:0)
我终于解决了这个问题。很难找到正确的信息。很多答案都说要设置一个高度限制出口,我尝试这样做,但是没有办法将IB的高度出口插入我的代码中。我什至尝试将其放入堆栈视图,也无法使插座正常工作。但是我能够获得帧大小并像这样设置帧大小:
// hide
StoryTypePickerView.isHidden = true
let size = StoryTypePickerView.frame.size
StoryTypePickerView.frame.size = CGSize(width: size.width, height: 0)
// show
StoryTypePickerView.isHidden = false
let size = StoryTypePickerView.frame.size
StoryTypePickerView.frame.size = CGSize(width: size.width, height: 100)
如果有更好的方法,我很高兴听到。暂时对我有用。