Я боролся с ограничениями уже несколько недель, пока изучал Xamarin.iOS.
Я попытался поместить элемент searchBar
в раскадровку и установить ограничения в портретном и ландшафтном режиме.Как только я думаю, что все правильно, я получаю следующие предупреждения в отладчике Visual Studio:
2019-01-30 22:43:43.200763+0000 App4[3113:24693] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<_UILayoutSupportConstraint:0x600001378050 _UILayoutGuide:0x7fe7bf425640.height == 44 (active)>",
"<_UILayoutSupportConstraint:0x60000137a120 V:|-(0)-[_UILayoutGuide:0x7fe7bf425640] (active, names: '|':UIView:0x7fe7bf425460 )>",
"<_UILayoutSupportConstraint:0x6000013780f0 _UILayoutGuide:0x7fe7bf525ce0.height == 34 (active)>",
"<_UILayoutSupportConstraint:0x6000013780a0 _UILayoutGuide:0x7fe7bf525ce0.bottom == UIView:0x7fe7bf425460.bottom (active)>",
"<NSLayoutConstraint:0x600001362ad0 V:[_UILayoutGuide:0x7fe7bf425640]-(200)-[UISearchBar:0x7fe7bf421940] (active)>",
"<NSLayoutConstraint:0x600001363a70 V:[UISearchBar:0x7fe7bf421940]-(200)-[_UILayoutGuide:0x7fe7bf525ce0] (active)>",
"<NSLayoutConstraint:0x6000013787d0 'UIView-Encapsulated-Layout-Height' UIView:0x7fe7bf425460.height == 414 (active)>")
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600001363a70 V:[UISearchBar:0x7fe7bf421940]-(200)-[_UILayoutGuide:0x7fe7bf525ce0] (active)>
Я понимаю, что мне нужно снять одно из этих ограничений, как это предложено отладчиком, но где я могу найтиэто в Visual Studio написано в коде?У меня только 4 ограничения, установленные в книжной ориентации, и 4 ограничения, установленные в альбомной ориентации, как показано ниже.Если я удалю одну из них через раскадровки, возникнут конфликты, говорящие о том, что не все ограничения установлены правильно.Как вы можете видеть на раскадровке, при переходе с устройства на устройство не возникает никаких конфликтов, однако, когда я имитирую любое устройство, переворачиваю его в горизонтальное положение и возвращаем обратно в «Портрет», элемент searchBar
выскакивает на экране из егоначальная center
позиция.Я предполагаю, что это поведение вызвано ограничениями, которые мне нужно удалить?Любое предложение будет высоко ценится, спасибо.