6

これは私の.mにあります

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.scrollView addSubview:self.contentView];
    self.scrollView.contentSize = self.contentView.bounds.size;
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

    NSMutableArray *arr = [[NSMutableArray alloc]init];
    arr = [Singleton getArray];

    NSString *str = [arr componentsJoinedByString:@"\n"];
    summaryLabel.text = str;
}

これは私の.hにあります

@interface TotalViewController : UIViewController
{
    UIScrollView *scrollView;
    UIView *contentView;

}
@property (nonatomic, retain) IBOutlet UIScrollView * scrollView;
@property (nonatomic, retain) IBOutlet UIView       * contentView;
@property (nonatomic,strong) IBOutlet UILabel       * summaryLabel;

私のラベルはView Controllerに接続され、私のcontentViewはView Controllerに接続され、私のsummaryLabelはView Controllerに接続されています。スクロールするにはラベルが必要ですが、そうではありません。

4

2 に答える 2

28

スクロール可能なラベルが 1 つだけ必要な場合、非常に簡単な答えは、代わりに UITextView を使用することです (参照)。編集を無効にすると、スクロール可能なラベルが表示されます。

(ほぼそのまま引用: how to add a scroll function to a UILabel )

于 2012-07-02T23:12:11.800 に答える
11

UIScrollView の内容が表示領域より大きくない場合、UIScrollView はスクロールしません。スクロールビューの contentSize を設定した後にテキストをラベルに割り当てることを考えると、これが正しく行われている可能性は低いです。私はこのようなことを試してみます...

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.scrollView addSubview:summaryLabel];

    .....

    summaryLabel.text = str;

    // Assuming your label has numberOfLines = 0, and you want to scroll vertical
    CGSize maxSize = CGSizeMake(summaryLabel.frame.size.width, CGFLOAT_MAX);
    CGSize labelSize = [summaryLabel sizeThatFits:maxSize];
    scrollview.contentSize = labelSize;
}
于 2012-07-02T23:26:53.307 に答える