以编程方式添加textview

时间:2014-01-06 21:03:17

标签: ios view

通常我会在storyboard中创建所有视图,但现在我需要通过代码添加一个视图,虽然我理解做一个的基本知识,但我需要一些关于如何设置视图的帮助但不仅仅是我需要将它们放在内部和现有视图中,并创建多个项目。所以我将有一个父UIScrollView,在那个内部我需要能够创建多达x个附加块,每个块包含两个标签和一个textview。沿着这些方向的东西

我可以使用故事板创建父ScrollView

ParentSCROLLVIEW

child_1_block

lable_1_1

label_1_2

textview_1

child_2_block

lable_2_1

label_2_2

textview_2

child_3_block

lable_3_1

label_3_2

textview_3

child_4_block

lable_4_1

label_4_2

textview_4

。 。

child_x_block

lable_x_1

label_x_2

textview_x

我现在只想创建一个但是我不确定将它放在现有的scrollview中的语法,目前它正在进入正在处理的主视图中。另一个令人困惑的是我一直在考虑的是创建一个动态数量的相同类型的对象是对象名称确定它是否将是动态的

UITextView *newTextView = [[UITextView alloc] initWithFrame:CGRectMake(10, 10, 300, size.height + 16)];

目前我使用它创建一个新的textview,但我需要为多个实体做同样的事情

例如* newTextView1,* newTextView2,* newTextView3,* newTextView4,...,* newTextViewX

我是否能够构造一个带有附加数字的字符串,然后使用该字符串作为我需要创建的对象的名称...之前从未这样做过所以我不确定但是我有一种感觉我会看到错误

我希望有人可以向我展示一些示例代码或指出我正确的方向,甚至建议我可以搜索的正确用语......任何事情都会有所帮助

杰夫

1 个答案:

答案 0 :(得分:2)

您无法为实例指定动态名称。 你可以做的是给他们不同的标签,以防他们从UIView(像UITextView)继承。

循环运行:

UITextView *myTextView = [[UITextView alloc] initWithFrame....];
[self.view addSubview:myTextView];
myTextView.tag = loopIndexInt; // This is where you put your dynamic number.

现在,为了通过它的标签检索特定的UITextView,请执行:

UITextView *textView = [self.view viewWithTag:5]; // in order to get textView with tag number 5.

无论如何,这实际上取决于你想要做什么。