• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 08:56:57 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

img

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

var viewNames = NSDictionary.FromObjectsAndKeys (new NSObject[] {
    view.View
}, new NSObject[] {
    new NSString ("detailsView")
});

detailsViewContainer.AddSubview (view.View);

view.View.TranslatesAutoresizingMaskIntoConstraints = false;
detailsViewContainer.AddConstraints (NSLayoutConstraint.FromVisualFormat ("H:|[detailsView]|", 0, new NSDictionary (), viewNames));

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

提前致谢!



Best Answer-推荐答案


使主视图宽度约束(如果没有,则添加一个)为 <= 1024(不严格)。我会做以下事情:

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

地点:

  • menuView 是菜单 UIView
  • masterView 是主 UIView 占位符

当您的菜单(绿色 View )打开时,宽度约束将等于 200: enter image description here

一旦您将约束设置为 0,您的 View 也会调整主占位符(橙色 View )的大小: enter image description here

请通过以下链接找到 Storyboard示例: https://dl.dropboxusercontent.com/u/19503836/Main.storyboard

关于ios - 当其他 View 大小增加或减小时调整 UIView 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31265903/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap