我正在尝试创建一个音乐应用程序,其顶部有一个“正在播放”栏。 我正在为ui使用标准故事板(UITabbarController-> UINavigationController-> UITableviewcontroller)
当有人在桌面视图列表中点击一个轨道时,一个小的programmaticcaly创建的uiview在导航栏下向下滚动,并且tableview向下移动。
这一切都很有效。
但是,当应用程序通过点击主页按钮发送到后台并再次重新打开时,表格视图会立即消失。只有当点击锁定iPhone的主页按钮并解锁时才会出现这种情况。
这是我在
中为UIView设置动画的代码CGRect frame = self.tableView.frame;
frame.origin.y += 60;
frame.size.height -= 60;
if(!nowPlayingPopDown){
//setup nowplaying view
nowPlayingPopDown = [[UIView alloc] initWithFrame:CGRectMake(0, -60, 320, 60)];
CGRect nowPlayingPopDownAnimatedLocation = CGRectMake(0, 0, 320, 60);
nowPlayingPopDown.backgroundColor = [UIColor whiteColor];
[self.view.superview addSubview:nowPlayingPopDown];
//setup waveform background
nowPlayingPopDownWaveformBackground = [[UIView alloc] initWithFrame:CGRectMake(60, 0, 0, 60)];
nowPlayingPopDownWaveformBackground.backgroundColor = [UIColor orangeColor];
[nowPlayingPopDown addSubview:nowPlayingPopDownWaveformBackground];
//setup waveform imageview
nowPlayingPopDownWaveform = [[UIImageView alloc] initWithFrame:CGRectMake(60, 0, 260, 60)];
[nowPlayingPopDown addSubview:nowPlayingPopDownWaveform];
//animate nowplaying bar in
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.tableView.frame = frame;
nowPlayingPopDown.frame = nowPlayingPopDownAnimatedLocation;
[UIView commitAnimations];
}