在Cocoa中是否可以以编程方式在视图上添加组件? UI是使用Xcode
中的Interface Builder创建的。我只想添加一些NSButtons
,但它的数量和位置将在运行时和用户输入中得知。
有谁知道它是否可行,如何完成以及如何定位这些ynamic组件?
答案 0 :(得分: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
应该让你入门。