2013-02-05 59 views
0

我有一个带有滚动视图和不同元素的DetailContentView。滚动视图中的动态结构化内容

例如,我有以编程方式添加3个标题和3个文本到一个名为“thisShadowBox”的UIView。

我怎么会加入一个更简单的方法元素?这是我的第一次尝试,但在此之后,我需要文本的高度来放置第二个元素,对吧?

UITextView *addThisText = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 305, 200)]; 
[thisShadowBox addSubview:addThisDescription]; 

我希望有另一种方法。类似于HTML/CSS:

<div style="background:#CCCCCC"> 
<p>Textblock1</p> 
<p>Textblock2</p> 
</div> 

在UIWebView中使用HTML代码并不是真正的选择。

回答

0
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode; // NSTextAlignment is not needed to determine size 

使用这种方法来获得字符串内容的高度,并通过简单的数学实现增加逻辑

使用这种方法来获得高度

-(CGFloat)getStringHeightOfString:(NSString *)inputString withFont:(UIFont *)font with:(CGSize)maxSize 
{ 
    CGSize size = [inputString sizeWithFont:font 
           constrainedToSize:maxSize 
            lineBreakMode:NSLineBreakByWordWrapping]; 
    return size.height; 

} 

编码愉快:)