菜鸟教程小白 发表于 2022-12-13 08:56:57

ios - 当其他 View 大小增加或减小时调整 UIView 宽度


                                            <p><p>我有一个带有侧边菜单的 UIView,该菜单来自左侧,并将右侧 View 从全屏推到较小的尺寸(全宽 - (菜单宽度))。
根据某人的建议,我通过更改菜单宽度约束中的常量来实现该效果:从 0 到 200。</p>

<p>(右侧 View )UIView 将保存我将加载到它的 View 具有此图像中看到的约束(菜单在左侧以蓝色显示):</p>

<p> <img src="https://i.imgur.com/KBZ0UC4.png" alt="img"/> </p>

<p>我使用以下代码将新的 UIView 添加到 detailsView(上面提到的容器)中:</p>

<pre><code>var viewNames = NSDictionary.FromObjectsAndKeys (new NSObject[] {
    view.View
}, new NSObject[] {
    new NSString (&#34;detailsView&#34;)
});

detailsViewContainer.AddSubview (view.View);

view.View.TranslatesAutoresizingMaskIntoConstraints = false;
detailsViewContainer.AddConstraints (NSLayoutConstraint.FromVisualFormat (&#34;H:||&#34;, 0, new NSDictionary (), viewNames));
</code></pre>

<p>问题在于,当菜单折叠时,新添加的 View 始终具有全宽(1024),并且在菜单展开时,将 View 推到右侧的应用程序限制之外。
任何帮助将不胜感激。</p>

<p>提前致谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使主视图宽度约束(如果没有,则添加一个)为 <= 1024(不严格)。我会做以下事情:</p>

<ul>
<li><code>|H:|-0-menuView-masterView-0-|</code></li>
<li>并在设计器中将 masterView 的宽度限制指定为 Less 或 Equal 1024</li>
<li>并在设计器中指定 menuView 的宽度约束等于 200。为其创建一个导出并在代码中动态更改
动画从 200 到 0 并在需要时返回。</li>
</ul>

<p>地点:</p>

<ul>
<li>menuView 是菜单 UIView </li>
<li>masterView 是主 UIView 占位符</li>
</ul>

<p>当您的菜单(绿色 View )打开时,宽度约束将等于 200:
<img src="/image/3yUk0.png" alt="enter image description here"/> </p>

<p>一旦您将约束设置为 0,您的 View 也会调整主占位符(橙色 View )的大小:
<img src="/image/BnwBd.png" alt="enter image description here"/> </p>

<p>请通过以下链接找到 Storyboard示例:
<a href="https://dl.dropboxusercontent.com/u/19503836/Main.storyboard" rel="noreferrer noopener nofollow">https://dl.dropboxusercontent.com/u/19503836/Main.storyboard</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 当其他 View 大小增加或减小时调整 UIView 宽度,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31265903/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31265903/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 当其他 View 大小增加或减小时调整 UIView 宽度