UINavigationController NIB требует, чтобы у Владельца Файла было представление?

Вот что сработало для меня ...

<!-- @drawable/image_border -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <solid android:color="@color/colorPrimary"/>
  <stroke android:width="1dp" android:color="#000000"/>
  <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp"/>
</shape>

<ImageView
  android:layout_width="300dp"
  android:layout_height="300dp"
  android:layout_gravity="center"
  android:padding="1dp"
  android:cropToPadding="true"
  android:scaleType="centerCrop"
  android:background="@drawable/image_border"/>

Вот результат, который я получаю с помощью пейджера и просмотра изображений с рамкой.

Example imageview with border 1dp black.

6
задан Quinn Taylor 30 June 2009 в 20:26
поделиться

2 ответа

Думаю, вы не понимаете, как должно использоваться Владелец файла в файле NIB. Я написал ответ, описывающий владельца файла под другим вопросом .

Когда вы вызываете эту строку:

[[MyNavCtrlrSubClass alloc] initWithNibName:@"MenuController" bundle:nil]

Вы создаете экземпляр MyNavCtrlrSubClass и указываете ему загрузить @ "MenuController". Затем в файле MenuController.xib есть второй несвязанный UINavigationController с вещами внутри него. Когда MenuController.nib загружается во время выполнения, этот второй контроллер навигации будет создан.

Вторая проблема заключается в том, что указывать UINavigationController загрузить файл NIB на самом деле неразумно, потому что контроллеры навигации создают и управляют своими собственными представлениями. Вы действительно хотите создать корневой контроллер представления и указать этому контроллеру представления загрузить файл NIB.

  • Подпредставление A
  • Подпредставление B

После того, как вы освоитесь с тем, как все это работает, вы также можете рассмотреть возможность создания экземпляра контроллера навигации и контроллера корневого представления в одном файле XIB, как вы начинали делать в опубликованный вами код.

5
ответ дан 17 December 2019 в 02:33
поделиться

В IB, в MenuController nib добавить UIView и установить это представление как выход. Вам нужно будет установить это представление для UIViewController. Здесь - это быстрая ссылка на страницу Apple, показывающую базовую настройку. Не уверен, что это поможет вам на вашем текущем этапе.

0
ответ дан 17 December 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: