2

这个问题困扰我很久了,希望stackoverflow能帮到你!

问题是

当我在 EnterNameText (UI TEXTFIELD) 中输入“Alan Shearer”时,标签会更改文本,但是 ScrollView 不再滚动到设置的内容大小,它会滚动一点,但没有接近设置的内容大小,在这种情况下高度为 2000 像素。

细节

1) Xcode 4.5.1

2) IOS 6

在我的 .xib 文件( tinypic.com/view.php?pic=2h4yx3o&s=6 )中,我有一个 UIScrollView(宽度为 320 像素,高度为 490 像素) UIScrollView 包含所有连接到视图 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)CheckButton:(id)sender 的 IBAction

单击 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 文件并将滚动视图代码放在 viewDidAppear 而不是 viewdidload 中。

于 2012-11-04T17:14:03.853 回答