如果你希望它是一个简单的观点,那么你可以创建一个UIView子类的几个UITextFields的,可能一个的UIImageView或两个都有网点,使您的控制器能够进行更改。例如:
@interface StockInfo <UIView>
@property (nonatomic, strong, readonly) UITextField *ticker;
// You may want to make these numbers so that you can do calculations with them, and then update the text field automatically
@property (nonatomic, strong, readonly) UITextField *price;
@property (nonatomic, strong, readonly) UITextField *priceChange;
// This could be automatically calculated based on the price and priceChange if appropriate
// It could also automatically show the Up or Down indicator
@property (nonatomic, strong, readonly) UITextField *percentChange;
@end
然后,控制器可以创建一个实例,并设置各种属性:
StockInfo *djia = [[StockInfo alloc] init];
djia.ticker = @"DJIA";
djia.price = @"14550.35" ;
djia.priceChange = @"-111.66";
// ...
您可以创建视图界面生成器内或者在实际的UI元素,或做在码。该做什么是一种个人喜好。在这种情况下,有两个方面的优缺点,并且在这种情况下构建代码视图会非常容易,并且不要求您有两个文件才能使用该控件。
阅读本书后,我对IB的印象是,它用于创建整个应用程序窗口的布局。我不确定我是否可以使用它来创建可重用的UI组件。 – prashant 2013-04-03 20:41:42
这就是你幸运的地方! :) IB可用于构建UITableViewCells,custon子视图中的图像视图,视图上的自定义手势以及更多全部内容。所有你需要做的是选择正确的类从子类!坦率地说,当我需要快速定制一些东西,同时保持设计整洁时,它对我来说变成了一个宝贵的工具! :) – wayway 2013-04-03 20:43:38
@prashant,不,您可以使用* Interface Builder *(现在是Xcode的一部分)来创建小的可重用视图。在Inspector属性中,只需将大小设置为'freeform',然后指定所需的点大小(宽度和高度)即可。然后,你会有一些不是全屏的东西。 – Nate 2013-04-03 20:44:36