objective-c – 如何约束NSSplitView?

objective-c – 如何约束NSSplitView?,第1张

概述嗨,我正在尝试约束NSSplitView的最大和最小坐标.我创建了一个视图控制器并将其指定为NSSplitView的委托.然而,调用委托方法,拆分视图不会限制到我尝试将其设置为的位置.关于我做错了什么的任何建议? - (CGFloat)splitView:(NSSplitView *)splitView constrainMinCoordinate:(CGFloat)proposedMinimum 嗨,我正在尝试约束NssplitVIEw的最大和最小坐标.我创建了一个视图控制器并将其指定为NssplitVIEw的委托.然而,调用委托方法,拆分视图不会限制到我尝试将其设置为的位置.关于我做错了什么的任何建议?

- (CGfloat)splitVIEw:(NssplitVIEw *)splitVIEw constrainMinCoordinate:(CGfloat)proposedMinimumposition ofSubvIEwAt:(NSInteger)divIDerIndex {    NSLog(@"Constrain min");    if (proposedMinimumposition < 75)     {        proposedMinimumposition = 75;    }    return proposedMinimumposition;}- (CGfloat)splitVIEw:(NssplitVIEw *)splitVIEw constrainMaxCoordinate:(CGfloat)proposedMax ofSubvIEwAt:(NSInteger)divIDerIndex{    NSLog(@"Constrain max");    if (proposedMax > 200)     {        proposedMax = 200;    }    return proposedMax ;}
解决方法 假设您希望垂直分割器上的两个部分中的每个部分至少高70.0,那么您要执行此 *** 作:

- (CGfloat)     splitVIEw:(NssplitVIEw *)splitVIEw   constrainMinCoordinate:(CGfloat)proposedMin              ofSubvIEwAt:(NSInteger)divIDerIndex{    return 70.0;}- (CGfloat)     splitVIEw:(NssplitVIEw *)splitVIEw   constrainMaxCoordinate:(CGfloat)proposedMin              ofSubvIEwAt:(NSInteger)divIDerIndex{    return splitVIEw.frame.size.height - 70.0;}

减法的原因是动态地考虑整个NSplitVIEw实例的任何大小调整(例如,使用autolayout).如果你正在处理水平的,那么你需要计算.wIDth而不是.height.如果您有超过2个子视图,可以通过查看divIDerIndex并根据需要应用值来扩展该想法.

总结

以上是内存溢出为你收集整理的objective-c – 如何约束NSSplitView?全部内容,希望文章能够帮你解决objective-c – 如何约束NSSplitView?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存