需要一個按鈕可以切換一個元素的位置。
目前我寫的代碼:
-(IBAction)menuTouched{
// Push menu
UITableView * sideMenu = [[UITableView alloc] initWithFrame:CGRectMake(1060, 88, 63, 661)];
sideMenu.backgroundColor = [UIColor redColor];
[self.view addSubview:sideMenu];
// Animate
[UIView animateWithDuration:1.25 animations:^{
sideMenu.frame = CGRectMake(960, 88, 63, 661);
}];
}
在點擊按鈕時 tableView可以隱藏起來,但是現在我需要按同樣的按鈕將tableView顯示出來,因此,應該怎麼實現使用按鈕切換tableView的隱藏和顯示?只要改變X坐標就可以,謝謝。
1.定義一個標志位用來表示當前UITableView的顯示狀態,聲明需要用到的三個成員變量
BOOL isShow;
UITableView *sideMenu;
CGFloat posX;
2.在viewDidLoad中做初始設置
-(void)viewDidLoad {
isShow=NO;
//to do something...
sideMenu = [[UITableView alloc] initWithFrame:CGRectMake(1060, 88, 63, 661)];
sideMenu.backgroundColor = [UIColor redColor];
[self.view addSubview:sideMenu];
}
3.你所控制UITableView的顯示只是frame的x坐標的變化,所以你可以根據開關狀態來計算這個posX,還有就是你的這個UITableview 不需要在每次點擊時來創建.把創建UITableView的代碼放到viewDidLoad函數來初始化.見上面的代碼.
-(IBAction)menuTouched{
posX=isShow ? 1060 : 960
// Animate
[UIView animateWithDuration:1.25 animations:^{
sideMenu.frame = CGRectMake(posX, 88, 63, 661);
}];
isShow=!isShow; //切換開關狀態
}