1

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

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];
}

前もって感謝します!

4

1 に答える 1

0

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

于 2011-01-02T15:41:29.540 に答える