我正在做的是从数据库中获取数据。然后,我想将这些数据添加到文本视图中,并将这些文本视图添加到滚动查看器中。
但是什么都没有出现。我知道有数据,但它没有显示。很可能我不想设置一些东西。
- (void)viewDidLoad
{
NSUInteger height = 0;
for (NSUInteger i = 0; i < [data count]; i++){
DBMiscData *row = (DBMiscData *) [data objectAtIndex:i];
if (row.text != nil){
UITextView *tv = [[UITextView alloc] init];
[tv setFont:[UIFont boldSystemFontOfSize:12]];
tv.text = row.text;
[_scrollerView addSubview:tv];
[tv sizeToFit];
height+=(NSUInteger)tv.frame.size.height;
}
}
[_scroller setScrollEnabled:YES];
[_scrollerView setFrame:CGRectMake(0, 0, 320, height)];
[_scroller setContentSize:CGSizeMake(320, height)];
[_scroller addSubview:_scrollerView];
[super viewDidLoad];
}
更新了代码以及我的目标
我想要的就像我在android中一样简单。
android:layout_width =“fill_parent”和android:layout_height =“wrap_content”。
答案 0 :(得分:1)
CGRectFromString(aString)
不会返回该文本适合的矩形。
如果您有一个类似{{5, 10}, {100, 130}}
的字符串,那么该方法会为您创建一个CGRect,其原点为CGPointMake(5,10)
,大小为CGSizeMake(100,130)
。
如果你有像'香蕉'这样的字符串。由此产生的CGRect将始终为CGRectZero
(又名CGRectMake(0,0,0,0))。
这就是你的身高为零的原因。
希望这有帮助。
干杯!
答案 1 :(得分:0)
这可能听起来很傻但是如何使用
height+=(NSUInteger)tv.frame.size.height;
而不是
height+=(NSUInteger)tv.bounds.size.height;