1

是否可以在 Cocoa 中以编程方式在视图上添加组件?UI 是使用Xcode. 我只想添加一些NSButtons,但它的数量和位置将在运行时和用户输入时知道。

有谁知道这是否可能以及如何完成以及如何定位这些动态组件?

4

1 回答 1

1

当然这是可能的。添加子视图:

UIView *subview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; // or UIButton, UIScrollView, or any other view-based class you make think of
[self addSubview:subview];

等等

或者更准确地说是一个按钮,它是这样的:

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
aButton.frame = CGRectMake(0, 0, 100, 100);
[aButton addTarget:self action:@selector(methodName) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:aButton]; // if done from the view self.view if done from the controller

啊,抱歉刚刚注意到它是 OSX,而​​不是 iOS,但基础是一样的。请查看 NSButton 类。

NSButton *aButton = [[NSButton alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)]; // x, y, width, height

应该让你开始。

于 2013-01-14T20:41:25.693 回答