2011-01-02 13 views
1

私は自分のアプリケーションのGUIに取り組んでいます。 NSScrollViewにメインビューが埋め込まれています。ユーザーがボタンをクリックすると、コンテンツが更新されます。次に、コンテンツを表示するために必要な高さを決定します。表示がうまく表示されず、項目が2回表示されていて、多くの不具合があります。問題は、[self setBounds:...]で表示サイズを設定したときです。表示サイズを変更する方法を知っていますか?ここにコード:nsviewサイズを設定する

CGFloat allHeight= 0.0; 
for(int i=0; i < [publications count]; i++) { 
     Publication* pub= [publications objectAtIndex:i]; 
     CGFloat pubHeight= [self heightForTextStorage:[pub statusContent] withWidth:300]; 
    if (pubHeight < 100.0) 
     pubHeight= 100.0; 
    allHeight += pubHeight; 
} 

if (allHeight > [[self superview] bounds].size.height) { 
    NSRect allBounds= self.frame; 
    allBounds.size.height= allHeight; 
    [self setFrame:allBounds]; 
} 
else { 
    NSRect allBounds= [[self superview] bounds]; 
    [self setFrame:allBounds]; 
} 

ありがとうございます!

答えて

0

もう一度解決策を見つけました。私はdrawRectメソッド内のnsview境界を変更していました(描画を行う前ですが)。コードの部分を別の場所に置き、今は完全に機能しています。

関連する問題