uilabel在添加时显示“移动”

时间:2012-07-16 13:21:36

标签: objective-c ios xcode cocoa-touch ipad

在我的iPad应用程序中,

不知怎的,我已经在导航栏上添加了UILabel作为标题。

将其添加到导航栏会显示我正在移动一些偏移量。

这里“移动”意味着, 它向我展示了一些0.1秒的动画。 (添加活动,从某些x,y到某些x,y)

这是我的代码,

-(void)addnavigationcomponents:(id)sender
{

if(titleLabel)
{
    [titleLabel release];
    titleLabel = [[CustomLabelA alloc] initWithFrame:CGRectMake(0,42,600,50) settag:1];
}

viewForLabel=[[UIView alloc] initWithFrame:CGRectMake(0,0,600,96)];
[titleLabel setFont:[UIFont fontWithName:@"TAHOMA" size:34.0f]];

[titleLabel setTextAlignment:UITextAlignmentCenter];

[viewForLabel addSubview:titleLabel];
self.navigationItem.titleView=viewForLabel;

titleLabel.text =calcname;

UIView *viewForButton=[[UIView alloc] initWithFrame:CGRectMake(0,0,71,96)];

}

viewWillAppear中,我添加了以下代码:

[self performSelector:@selector(addnavigationcomponents:) withObject:self afterDelay:0.00];

我已经完成了执行选择器,因为只需要一个标签和东西的代码隐藏在我的导航背景后面,所以我怎么能这样做。

如何删除该动画。

1 个答案:

答案 0 :(得分:1)

您需要在此处执行以下操作:

  1. 不要在“viewWillAppear”上调用它 - 您希望在“viewDidLoad”上执行此代码。

  2. 在延迟0.0之后不要执行选择器 - 如果这是唯一的方法,则不应该以这种方式完成。

  3. 作为最佳做法,请在将文本作为子视图添加到“viewForLabel”之前设置文本。