仅使用InterfaceBuilder在视图上定位对象

时间:2012-08-08 09:22:04

标签: iphone objective-c interface-builder uibutton

以编程方式创建了UIButton,所有工作都按预期工作但如何仅使用IB来定位视图上的对象?

更准确地说,我只想将IB用于此行(请参阅:setViaIB)

 self.searchBtn.frame = CGRectMake(setViaIB, setViaIB, 36, 36);

UIButton创建的完整代码:

 self.searchBtn = [UIButton buttonWithType:UIButtonTypeCustom];
 self.searchBtn.frame = CGRectMake(100, 0, 36, 36);
[self.searchBtn setBackgroundImage:[UIImage imageNamed:@"search.png"] forState:UIControlStateNormal];
[self.searchBtn addTarget:self action:@selector(searchBtnTapped::) forControlEvents:UIControlEventTouchUpInside];
[self.searchBtn setNeedsDisplay];
[self.view addSubview:self.searchBtn];

2 个答案:

答案 0 :(得分:0)

如果您在IB中创建按钮,则只能在IB中定位按钮。您可以将searchBtnTapped方法更改为IBAction,并通过IB中的文件所有者将其链接到您的按钮。然后,您可以在IB中的任何位置移动按钮。如果不是,您只需通过坐标重新定位按钮,直到您满意为止。

答案 1 :(得分:0)

我很确定你不能,为什么不使用initWithNibName: bundle:在nib(Interface Builder)文件中创建整个视图?