Подтвердить что ты не робот

Сцены источника делегата раскадровки XCode

После обновления Xcode 7 некоторые из моих имен диспетчеров view изменились на Delegate Scene, что с этим делать? Благодарю! введите описание изображения здесь

Изменение названия не помогает введите описание изображения здесь

4b9b3361

Ответ 1

Попробуйте переименовать контроллер в соответствии с тем, что вы хотите:

Шаг 1 Выберите "контроллер", названный "Делегат" на скриншоте.

введите описание изображения здесь

Шаг 2 Еще раз нажмите "Делегировать" или нажмите [Ввод], чтобы перейти в режим переименования.

введите описание изображения здесь

Шаг 3 Переименуйте его в нечто значимое.

введите описание изображения здесь

Шаг 4 Снимите выделение или нажмите [Enter] еще раз, чтобы сохранить изменения. Имя сцены будет обновлено в соответствии с указанным вами именем.

введите описание изображения здесь

Ответ 2

Выберите View ControllerIdentity InspectorDocument Label и переименуйте его здесь.

Identity Inspector - Document Label

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

Ответ 3

Добавление к @Steve Wilford Ответ:

В доске объявлений Xcode 7 существует ограничение на длину имени контроллера вида, которое будет отображаться в левой панели, которое составляет 15 символов. Все имена, имеющие более 15 символов, будут изменены на странное имя, например "Делегатная сцена" или "Сцена источника данных".

Ответ 4

У меня нет прямого ответа, но место для просмотра. К сожалению, это превышает пространство для комментариев, поэтому я должен его здесь поместить. Сожалею.

Если вы выберите раскадровку в проводнике проекта, вы можете открыть исходный код. Раскадровки - это всего лишь файлы XML. Как выглядит viewcontroller? Сравните это со ссылкой, например, с недавно созданной. Возможно, вы можете поделиться частью xml диспетчера представлений? Пример с одним (из коробки) контроллером представления:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8191" systemVersion="15A284" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="eee" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <animations/>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
        </scene>
    </scenes>
</document>

Ответ 5

Проверьте свойство title вашего контроллера просмотра, имя контроллера представления поступает либо из свойства заголовка, либо из класса. (Заголовок имеет приоритет)

Снимок экрана

Также вы можете переименовать контроллер вручную, если хотите, как предложил Стив

Ответ 6

Вот проект, в котором вы можете четко видеть, что это ошибка интерфейса Builder. Я сообщил об этом, но не ответил. Id - 22972580.

DelegateBug.zip