0

我正在做的是从数据库中获取数据。然后我想将该数据添加到文本视图中并将这些文本视图添加到滚动查看器中。

但是什么都没有出现。我知道有数据,但只是没有显示。很可能我错过了设置的东西。

- (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"。

4

2 回答 2

1

CGRectFromString(aString)不会返回您适合该文本的矩形。如果您有一个类似 的字符串{{5, 10}, {100, 130}},该方法将为您创建一个 CGRect ,它将具有 origin =CGPointMake(5,10)和 size = CGSizeMake(100,130)。如果你有一个像 'bananas' 这样的字符串。由此产生的 CGRect 将始终是CGRectZero(又名 CGRectMake(0,0,0,0) )。

这就是为什么你的身高为零。

希望这可以帮助。

干杯!

于 2012-07-07T20:14:08.697 回答
0

这可能听起来很傻,但如何使用

height+=(NSUInteger)tv.frame.size.height;

代替

height+=(NSUInteger)tv.bounds.size.height;
于 2012-07-07T20:10:38.153 回答