更改UIScrollView中的标签文本时,UIScrollView停止工作

时间:2012-10-13 13:49:54

标签: iphone objective-c xcode uiscrollview

我已经有这个问题很长一段时间了,我希望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 - (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=@"";

}

1 个答案:

答案 0 :(得分:0)

要解决此问题,在将scrollview链接到.h文件之前,必须确保定义scrollview中的所有内容。例如,如果滚动视图中有20个标签,请确保已将20个标签连接到.h文件,设置正确的大小,放在正确的位置。只有这样,您才能将您的scrollview连接到.h文件,并将scrollview代码放在viewDidAppear中,而不是viewdidload。