lantianyiming 2013-05-14 02:51 采纳率: 0%
浏览 3139
已采纳

IOS/xcode-开关按钮改变位置

需要一个按钮可以切换一个元素的位置。

目前我写的代码:

-(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坐标就可以,谢谢。

  • 写回答

3条回答

  • ReyZhang 移动开发领域新星创作者 2013-05-14 05:38
    关注

    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;  //切换开关状态
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料