2

私は長い間この問題を抱えていました。スタックオーバーフローが役立つことを願っています!

問題は

EnterNameText (UI TEXTFIELD) に「Alan Shearer」と入力すると、ラベルのテキストが変更されますが、ScrollView は設定されたコンテンツ サイズまでスクロールしなくなり、少しスクロールしますが、設定されたコンテンツ サイズには近づきません。高さ2000px。

詳細

1) Xcode 4.5.1

2)IOS6

私の .xib ファイル ( tinypic.com/view.php?pic=2h4yx3o&s=6 ) には、UIScrollView (幅 320 ピクセル、高さ 490 ピクセル) があります。UIScrollView には、すべて view controller.h に接続されているラベルが含まれています。

ラベル (すべてのラベルは同じ方法で設定されます):

  @property (strong, nonatomic) IBOutlet UILabel *AlanShearerLabel;

ViewController.h の私の UIScrollView は次のようになります。

 @property (strong, nonatomic) IBOutlet UIScrollView *scrollview;

ViewController.m の UIScrollView

 - (void)viewDidAppear:(BOOL)animated{[super viewDidAppear:animated]; self.scrollview.contentSize=CGSizeMake(320.0, 2000.0);  }

IBAction と呼ばれる - (IBAction)CheckButton:(id)sender

CheckButton がクリックされたときのアクション:

//string 0

NSString *string0 = _EnterNameText.text;

//Alan Shearer

NSString *string1 =@"Alan Shearer";
NSString *string2 =@"Rank 1) Alan Shearer 260 Goals";
NSString *stringshearer =@"Shearer";

//Alan Shearer IF

if([string0 isEqualToString:string1]||
   [string0 isEqualToString:stringshearer])
{_AlanShearerLabel.text = string2;
    _AlanShearerLabel.textColor = [UIColor greenColor];
    _EnterNameText.text=@"";

}
4

1 に答える 1

0

この問題を解決するには、スクロールビューを .h ファイルにリンクする前に、スクロールビュー内のすべてのものを定義する必要があります。たとえば、スクロールビューに 20 個のラベルがある場合、20 個のラベルが .h ファイルに接続されていることを確認し、適切なサイズを設定し、適切な場所に配置してください。そうして初めて、スクロールビューを .h ファイルに接続し、スクロールビュー コードを viewdidload ではなく viewDidAppear に配置します。

于 2012-11-04T17:14:03.853 に答える