2

我基本上是一名 Android 程序员,并且正在学习 iOS 平台上的一些技能。

我有一个 Android 应用程序,它有一个自定义 UI 组件,看起来像

这个.

我想为我的示例 iOS 应用程序创建一个类似的可重用 UI 组件。对于如何在 iOS 中执行此操作,我无法获得任何线索。

在 Android 上,我可以使用布局文件创建复合 UI 元素,但在 iOS 中,我不确定是否可以创建复合 UI 元素或扩展 UIView,然后以某种方式在其中布局文本和图像组件。

我正在寻找一些实现这一点的线索。我计划在屏幕上显示这些组件的多个实例,并从 Web 服务更新值。

4

2 回答 2

2

我推荐在 iOS 中称为 interface builder 的东西。

在这里,您可以直观地放置与用户交互的元素,并且您可以在布局结构时看到设计的外观。

教程可以看http://mobile.tutsplus.com/tutorials/iphone/interface-builder/ 或者搜索“ios xib教程”

希望这有帮助!

于 2013-04-03T20:31:04.597 回答
0

如果您希望它是一个简单的视图,那么您可以创建一个带有几个 UITextField 的 UIView 子类,并且可能创建一个或两个 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";
// ...

您可以在 Interface Builder 中创建视图中的实际 UI 元素,也可以在代码中创建。做什么是一种个人喜好。两者都有优点和缺点,在这种情况下,在代码中构建视图将非常容易,并且不需要您拥有两个文件即可使用控件。

于 2013-04-03T20:46:34.743 回答