Xcode 7 storyboard委托数据源场景

时间:2015-09-17 05:11:54

标签: ios delegates storyboard datasource xcode7

更新Xcode 7后,我的一些viewcontrollers名称改为Delegate Scene,该怎么办?谢谢! enter image description here

更改标题无济于事 enter image description here

6 个答案:

答案 0 :(得分:14)

尝试将控制器重命名为您想要的任何内容:

第1步 选择屏幕截图中名为“Delegate”的“控制器”。

enter image description here

第2步 再次单击“委派”,或按[Enter]进入重命名模式。

enter image description here

第3步 将其重命名为有意义的内容。

enter image description here

第4步 取消选择或再次按[Enter]保存更改。 场景名称将更新以匹配您指定的名称。

enter image description here

答案 1 :(得分:3)

添加到@Steve Wilford回复:

在Xcode 7的故事板中,左侧窗格中显示的视图控制器名称长度限制为15个字符。所有超过15个字符的名称都将更改为奇怪的名称,如“代表场景”和“#39;或者'数据源场景'。

答案 2 :(得分:3)

选择View Controller-> Identity Inspector-> Document Label,然后在此处重命名。

Identity Inspector - Document Label

这对我有用。

答案 3 :(得分:2)

我没有直接的答案,但是一个值得一看的地方。不幸的是,它超出了评论的空间,所以我必须把它放在这里。抱歉。

如果您在项目资源管理器中选择了故事板,则可以打开其源代码。故事板只是XML文件。 viewcontroller是怎样的?将它与参考文献进行比较,例如新创建的参考文献。也许你可以分享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>

答案 4 :(得分:2)

检查View Controller的title属性,视图控制器的名称来自title属性或Class。(标题优先)

Screenshot

如果您想按史蒂夫

的建议,也可以手动重命名控制器

答案 5 :(得分:1)

这是一个项目,您可以清楚地看到这是一个Interface Builder错误。 我已报告但没有回应。我们是22972580。

DelegateBug.zip