我有 (+) 和 (-) 按钮... (+) 按钮应该使窗口在向下方向上变长,并且 (-) 按钮应该撤消 (+) 按钮所做的事情,方法是使其从底部。
关键是,框架应该只从底部拉伸,并且大多数 UI 项目应该保持在原位 - 窗口底部的按钮应该跟随窗口高度的变化......
问题是我正在使用它来移动窗口并保持其内容的相同位置......
NSRect frame = sender.window.frame;
NSLog(@"\nHeight and width of window frame: (%f,%f).\nThe x and y origin of the window frame: (%f,%f). ", frame.size.height, frame.size.width, frame.origin.x, frame.origin.y);
frame.origin.y -= 22;
frame.size.height += 22;
[sender.window setFrame:frame display:YES animate:NO];
NSRect viewFrame = mainView.frame;
viewFrame.origin.y -= 22;
viewFrame.size.height += 22;
mainView.frame = viewFrame;
但是假设您单击(+)按钮一次;当框架变长时,所有项目都会略微向上移动。如果您在第一次按下后连续单击 (+),它将按预期工作:框架将向下移动,其内容将保持原位。如果您随后单击 (-) 按钮一次;当框架缩短时,所有项目都会略微向下移动。第一次按下后连续单击(-),它将按预期移动框架。
似乎第一次按下按钮将移动所有窗口内容,而连续按下将按预期工作......我想知道我是否在 XCode 的界面编辑器中遗漏了一些关于自动调整大小的内容。谢谢你。