2012-06-22 59 views
1

我在我的應用程序中有一個UIPopoverController,它只是在彼此旁邊顯示兩個UILabels,並在每個UILabel中都有一個單詞列表。但是,有時候每個列表中只有幾個字,這意味着popover視圖中有大量的空白空間。動態UIPopoverController大小?

我該如何使彈出視圖至少在高度上動態適應我的標籤中有多少行文字?

任何幫助永遠讚賞,謝謝。

回答

1

如果標籤文本之前酥料餅的節目規定,您可以通過在viewDidLoad方法使用類似的代碼實現這一點:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // ... 

    CGFloat height = [label.text sizeWithFont:label.font 
            forWidth:label.frame.size.width 
           lineBreakMode:label.lineBreakMode].height; 

    // This calculates only height of the label, you may want to add some margins, etc. 

    CGSize size = CGSizeMake(self.view.frame.size.width, height); 
    self.contentSizeForViewInPopover = size; 
} 
+0

我可以看到這是如何工作的,但遺憾的是事實並非如此。我得到一個非常狹窄的視圖。當我用單詞填充標籤時,我添加一個單詞,然後用\ n和一次又一次將它換行。當您傳遞標籤的文本值時,是否可能檢測不到換行符? –

+1

對於我所知道的,'sizeWithFont:forWidth:lineBreakMode:'不尊重換行符。你應該嘗試'sizeWithFont:constrainedToSize:' – Johnnywho