Я попытался сделать снизу вверх компонент UIPickerView, сначала я создал представление контейнера, отличное от моего фактического представления, после чего я добавил представление выбора в представление контейнера. Я установил y-позицию этого представления на 1690. Если кнопка нажата, она будет двигаться вверх с такой анимацией.PickerView исчезает после того, как DidSelectRow
func createPicker(sender: UIButton)
{
if(isPickerViewOpened == false){
pickerView.reloadAllComponents()
shadowImageView.alpha = 0.6
UIView.animateWithDuration(0.5, animations: {() -> Void in
self.pickerContainer.center = CGPointMake(self.pickerContainer.center.x, self.pickerContainer.center.y - 1000)
})
isPickerViewOpened = true
}
}
Но когда работала функция DidSelectRow, этот вид возвращается в исходное положение.
Моя функция DidSelectRow:
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
urunCesitButton.setTitle("\(urunCesitAd[row])", forState: .Normal)
urunKodu = urunCesitKod[row]
urunAd = urunCesitAd[row]
urunFiyat = urunCesitFiyat[row]
urunAdLabel.text = urunAd
urunFiyatLabel.text = "\(urunFiyat) TL"
shadowImageView.alpha = 0
scrollerView.userInteractionEnabled = true
decreaseButtonOutlet.userInteractionEnabled = true
urunAdet.userInteractionEnabled = true
increaseButtonOutlet.userInteractionEnabled = true
}
Я попытался endEditing или resignFirstResponder() в том, что решить, но он не работает. Кто-то еще задал этот вопрос, но ответа не получил.
Ваша проблема, скорее всего, вплоть до ограничений, связанных с pickerContainer. Вы создали сборщик со смещением в построителе интерфейса? Когда вы выберете, макет, вероятно, будет переделан, и он вернет его в положение по умолчанию. Возможно, вам лучше добавить ограничение для левой и верхней позиции, а затем анимировать ограничение. Это обеспечит его пребывание там, где это определяют ограничения. Вы можете создавать IBOutlets для ограничений, перетаскивая CTRL из ограничения в ваш .h-файл. Затем анимируйте постоянное значение каждого ограничения. –
См. Http://stackoverflow.com/questions/12622424/how-do-i-animate-constraint-changes –
@RoryMcKinnel благодарит помощника! который решил мою проблему :) –