Я новичок в разработке iOS, но не так новичок в C#. Я решил сделать учебник, предоставленный Xamarin/Microsoft, а затем попытаться расширить его. Я искал способ установить изображение в центре UINavigationBar, и я нашел, что правильный способ сделать это должен был использовать NavigationItem.TitleView = myImageView;
Масштабировать изображение в NavigationItem.TitleView для размещения внутри UINavigationBar
Это отлично работает! Однако есть одна проблема: изображение, которое я использовал, просто больше, чем NavigationBar. Я хочу масштабировать (и сохранять пропорции) изображение, чтобы оно вписывалось в навигационную панель, а также выглядело неплохо. Вот то, что я сделал до этого момента, чтобы получить изображение:
var logo = UIImage.FromFile("PolarisLogoBlank.png");
var iView = new UIImageView(logo);
NavigationItem.TitleView = iView;
А вот картина того, что я получаю:
Любая помощь очень ценится; спасибо!
Итак, 'iView.ContentMode = UIViewContentMode.ScaleAspectFit;' работает нормально; однако, когда я пытаюсь использовать iView.Frame.Size.Height = NavigationController.NavigationBar.Frame.Size.Height; ', он сообщает мне, что я не могу изменить возвращаемое значение' CGRect.Size', потому что это не переменная " –
Ах, да. Этот 'iView.frame.size.height =' в swift является ярлыком, который фактически создает новую структуру (CGSize) со старым значением ширины и новым значением высоты, а затем присваивает ее iView.frame.size'. Таким образом, вам нужно создать новую структуру размера и назначить ширину старой ширине и высоте до новой высоты. CGRect (фрейм) также является структурой, поэтому вам может понадобиться создать новый Rect и назначить его для iView.frame. –
Я тестировал код @DarrylLJohnson, и он отлично работает. –