Как изменить размер xib в конструкторе Xamarin.iOS? - PullRequest
0 голосов
/ 07 мая 2019

Я реализовал CustomRenderer для отображения собственного UIView (который использует файл xib / nib) на iOS в моей архитектуре Xamarin.Forms. Я следовал этому учебнику , чтобы реализовать CustomRenderer для CustomView в Xamarin.Forms и этому учебнику , чтобы отобразить UIView с файлом xib / nib в Xamarin.iOS. Пожалуйста, посмотрите на мой репо .

В основном это работает, и я вижу NativeView. Но это занимает слишком много места. Я хотел бы сократить его до содержания XIB. Поэтому я установил Simulated Metric -> Size -> Freeform корневого элемента xib. Я надеялся, что смогу потом свободно изменить размер.

enter image description here

Почему невозможно изменить размер с помощью перетаскивания? Я также не могу установить его на вкладке Layout, потому что он неактивен.

enter image description here

Редактирование xib как XML-файла и изменение высоты возвращаются путем компиляции:

 <rect key="frame" x="0.0" y="0.0" width="414" height="736"/>

и

 <size key="freeformSize" width="414" height="736"/>

Указание HeighRequest на использование в проекте Xamarin.Forms не имеет никакого эффекта. Какие изменения необходимы для соблюдения свойства HeightRequest? К сожалению, у меня мало знаний о нативном программировании в Xamarin.iOS. Нужно ли мне передавать размеры в мой NativeExampleView?

Заранее спасибо за любую помощь!

1 Ответ

2 голосов
/ 08 мая 2019

Кажется, есть проблема с Visual Studio Designer.

Я пытался следовать вашим шагам и столкнулся с теми же проблемами, что и вы. Протестировано как VS4M, так и VS4W, и в обеих IDE возникла одна и та же проблема.

На Mac я открыл View с Xcode, и после того, как вы установили Size на FreeForm и сохранили, открыв View с Visual Studio, я смог обновить его размер.

Если у вас есть доступ к XCode, вы можете попробовать выше.

Если у вас нет возможности открыть представление с помощью X-кода, вы можете изменить представление вручную (исходный код), добавив этот ключ в узле просмотра:

<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>

Это ключ, который Xcode добавляет при изменении размера.

Здесь вы можете увидеть git diff. красный - это VS, а зеленый - то, что добавил Xcode. Покажи это, чтобы у тебя была идея.

enter image description here

Еще один git diff показывает немного больше информации

enter image description here

Надеюсь, это поможет .-

...