目标C语言 如何在Cocoa中动态添加组件



是否可以在Cocoa中以编程方式添加组件?UI是使用来自Xcode的Interface Builder创建的。我只想添加一些NSButtons,但它的数量和位置在运行时和用户输入时是已知的。

有没有人知道这是可能的,它是如何做到的,以及如何定位这些动态组件?

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

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

相关内容

  • 没有找到相关文章

最新更新