kel*_*lin 30 macos xcode storyboard ios
假设我使用Interface Builder在故事板中使用自动布局创建UI.我可以将一些约束从一个视图复制或移动到另一个视图吗?
Tri*_*non 15
这是我的hack来获取所有复制的约束:我在主视图中有一个小视图,我想要复制到另一个视图控制器,为了做到这一点,我将整个主视图复制到新的视图控制器主视图.然后我将我的小视图(在侧面层次结构上)拖到我的新控制器的主视图中,然后删除了我不需要的旧主视图.这样,您可以在小视图中保留项目的所有约束.
希望这可以帮助 :)
Iul*_*rei 11
如果您了解并了解.xib文件的XML如何工作,则可以.我已经习惯了它们,所以我能够将带有约束的视图移动到另一个视图中.
我会尝试一步一步地解释它:
myView.xib文件> Open As> Source Code或在另一个编辑器中打开它(如Sublime Text)搜索myView,你会发现类似的东西:
<outlet property="myView" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
并复制destination属性的值
搜索复制的id(i5M-Pr-FkT),其中一个结果将是一个view标记:
<view contentMode="scaleToFill" id="i5M-Pr-FkT"> <!-- 1 -->
    ...
</view>
将整个view标记剪切并粘贴到所需视图的subviews标记中:
<view contentMode="scaleToFill" id="Ovp-8Y-qHZ"> <!-- 2 -->
    <subviews>
        <view contentMode="scaleToFill" id="i5M-Pr-FkT"> <!-- 1 -->
            ...
        </view>
    </subviews>
</view>
继续搜索复制的ID,你会发现一些限制,如下所示:
<constraint firstItem="w7M-JQ-JWD" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="EwH-B1-XWY"/>
您需要将其移动到constraints两个超级视图(旧视图和新视图)的最低共同祖先的标记中:
<view contentMode="scaleToFill" id="rK2-sE-P0d"> <!-- 3 -->
    <subviews>
        <view contentMode="scaleToFill" id="Ovp-8Y-qHZ"> <!-- 2 -->
            <subviews>
                <view contentMode="scaleToFill" id="i5M-Pr-FkT"> <!-- 1 -->
                    ...
                </view>
            </subviews>
        </view>
    </subviews>
    <constraints>
        <constraint firstItem="w7M-JQ-JWD" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="EwH-B1-XWY"/>
    </constraints>
</view>
| 归档时间: | 
 | 
| 查看次数: | 25559 次 | 
| 最近记录: |