0

removeFromSuperViewやaddSubviewを使わずにUIViewの内容を動的に変更したいのですが、コードはやりたいことのイメージです。

int screenWidth = [[UIScreen mainScreen] bounds].size.width;
int screenHeight = [[UIScreen mainScreen]bounds].size.height;
UIView *currentView = [[UIView alloc]initWithFrame:CGRectMake(0,0,screenWidth,screenHeight)];
UIView *nextView = [[UIView alloc]initWithFrame:CGRectMake(0,0,screenWidth,screenHeight)];

[self.view addSubview:currentView];

currentView = nextView;

//when this code run,appearing currentView swap nextView.
[self.view reload];
4

2 に答える 2

1

絶対。見栄えを良くしたい場合は、必要な属性で「終了」ビューを作成し、静的遷移メソッドを使用します+transitionFromView:toView:duration:options:completion:

これにより、必要に応じてビューが削除および追加されるため、これらのメソッドを呼び出す必要はありません。それ以外の場合は、表示したくないビューを非表示にするために、janusfidel-setHidden:が提案する方法を使用できます。

于 2012-10-31T09:34:47.463 に答える
0
//in viewdidload
{
........
........
[self.view addSubview:currentView];
[self.view addSubview:nextView];
nextView .hidden = YES;
}

-(void)changeView
{
if(!currentView .hidden)
{
currentView .hidden =YES;
nextView .hidden = NO;
}
else
{
currentView .hidden =NO;
nextView .hidden = YES;
}
}
于 2012-10-31T09:56:27.907 に答える