1

在我的 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];

我已经完成了选择器,因为标签和内容的简单代码隐藏在我的导航背景后面,所以我该怎么做。

如何删除该动画。

4

1 回答 1

1

您需要在这里做几件事:

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

  2. 避免在延迟 0.0 后执行选择器 - 如果这是唯一可行的方法,那么根本不应该以这种方式完成。

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

于 2012-07-16T13:26:24.290 回答