如何在iOS中创建此自定义UI

时间:2013-04-03 20:22:24

标签: ios

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

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

this

我想为我的示例iOS应用程序创建一个类似的可重用UI组件。我无法在iOS中如何做到这一点。

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

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

2 个答案:

答案 0 :(得分:2)

我推荐在iOS中使用名为interface builder的东西。

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

对于教程,您可以查看http://mobile.tutsplus.com/tutorials/iphone/interface-builder/ 或者搜索" ios xib教程"

希望这有帮助!

答案 1 :(得分:0)

如果你想要它是一个简单的视图,那么你可以创建一个带有几个UITextFields的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元素,也可以在代码中创建。该做什么是个人偏好。两者都有加号和减号,在这种情况下在代码中构建视图非常简单,并且不需要你有两个文件才能使用控件。