user176516
user176516

Reputation:

iphone, objective c, xcode

I defined a UIView "RowOfThree" inwhich there are 3 labels. i also defined a UIView "Table" inwhich there are numer of objects of type "Row".

the following code is in a method within object "Table":

RowOfThree *rowOfThree = [[RowOfThree alloc] init];
[self addSubview:rowOfThree];

for some reason it doesn't add the view. i tried defining the labels in "RowOfThree" both in IB and programmatically and it still didn't work.

Upvotes: -1

Views: 131

Answers (2)

TechZen
TechZen

Reputation: 64428

SanHalo's answer is most likely correct but in addition, if you're using Interface Builder, you should not be directly initializing views that are defined in the nib. If you do, you have to use initFromNib instead of just init.

Upvotes: 0

Pascal
Pascal

Reputation: 16941

Typically, a UIView (and the subclasses) are initialized using initWithFrame:. Maybe you did that in your own implementation of init, I don't know, but it may very well be that your view has a frame of {0,0,0,0} and therefore 0 height and 0 width. Set the frame by hand and tell us whether this works.

CGRect newFrame = CGRectMake(0.f, 0.f, 200.f, 40.f);
RowOfThree *rowOfThree = [[RowOfThree alloc] initWithFrame:newFrame];
[self addSubview:rowOfThree];
[rowOfThree release];

Upvotes: 1

Related Questions