我有一个带左侧菜单的UIView,将右侧视图从完整推到较小的尺寸(全宽 - (菜单宽度))。 根据某人的建议,我通过更改菜单宽度约束中的常量来实现该效果:从0到200。
(右侧视图)UIView认为我将加载到它的视图具有此图像中的约束(菜单在左侧为蓝色):
我使用以下代码将新的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));
问题是新添加的视图在折叠菜单时总是具有全宽(1024),但是当菜单展开时,将视图推到右边的app限制之外。 任何帮助将不胜感激。
提前致谢!
答案 0 :(得分:1)
使主视图宽度约束(如果没有,则添加一个)为< = 1024(不严格)。我会做以下事情:
|H:|-0-menuView-masterView-0-|
其中:
当您的菜单(绿色视图)打开时,宽度约束将等于200:
一旦将约束设置为0,您的视图也会调整主占位符(橙色视图)的大小:
请通过以下链接查找故事板示例: https://dl.dropboxusercontent.com/u/19503836/Main.storyboard