.Net UserControl XCode等价物

时间:2011-10-08 19:52:49

标签: .net objective-c ios xcode user-controls

我习惯在Visual Studio中创建“用户控件”...我想知道是否有办法在XCode中执行此操作...

我一直在环顾四周,有些人告诉我要建立一个插件......这听起来相当复杂,无法构建一个简单的可重复使用的“文本框 - >按钮 - >标签”...在VS i中可以创建 - >用户控制,编程和拖放控件就好像它是一个简单的按钮......它真的很简单......

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

XIB(接口构建器视图)或从UIView继承的类等同于用户控件。它们是聚合子视图的方法(想想视图和子视图 - 而不是控件)。

在界面构建器中的XIB内,您可以添加其他控件(从库中拖动)并放置在视图中。文件,新文件,iOS下,用户界面,视图。这个问题包括:

How do I associate a nib (.xib) file with a UIView?

如果要以编程方式执行此操作,请创建一个继承自UIView的新objective-c类。在viewDidLoad中,您可以以编程方式创建其他控件并放置它们。

这是一个程序化教程:

http://www.raywenderlich.com/1768/how-to-make-a-custom-uiview-a-5-star-rating-view

最后,常见类型的“聚合控件”是用于表格的UITableViewCell。这是一个关于以编程方式和IB创建自定义UITableView单元格的教程。

http://www.e-string.com/content/custom-uitableviewcells-interface-builder

Apple的这些指南很好读:

http://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/Introduction/Introduction.html

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html

修改

我刚试过这个......

如上所述,将XIB添加到项目中。添加一些您希望聚合为可重复使用视图的控件。

现在 - 在其他一个视图/视图控制器中拖出一个UIView来声明将使用聚合控件的空间。

创建一个IBOutlet UIView * _customView,并在您的视图中,将该出口绑定到刚刚拖出的UIview。这只是一个容器,你有一个iVar / IBOutlet,所以你可以添加它。

到目前为止,我们已经创建了一个包含聚合控件的UIView布局。

使用UINib类来标记你的Xib'usercontrol'。这是我在viewDidLoad中输入的代码:

UINib *nib = [UINib nibWithNibName:@"TestView" bundle:nil];
[_customView addSubview:[[nib instantiateWithOwner:self options:nil] objectAtIndex:0]];

不完全是拖出但是意识到UINib缓存了布局,因此您可以快速标记新实例并将其添加到您想要的任何位置,同时利用IB视图的UI布局控制。