代码之家  ›  专栏  ›  技术社区  ›  RonLugge

如何调整ui按钮相对于其当前位置的位置?

  •  0
  • RonLugge  · 技术社区  · 14 年前

    我正在尝试使用一个滚动视图控制器,它需要根据用户交互来调整它的内容——特别是,当用户使用UITextView时添加一个“done”按钮,然后在完成时删除它。问题是给有问题的按钮腾出空间。我会做什么 喜欢

    control.layer.position.x-=50;
    

    对于每一个“低于”我正在使用的控件。不幸的是,这不起作用。据我所知,我将不得不做一些更像。。。

    control.layer.position=CGPointMake(newX, newY);
    

    这造成了一个可维护性的噩梦;我将不得不改变它们在代码中的位置,而不是能够随意重新排列UIBuilder中的按钮。不幸的是,无论我使用的是第一种类型的代码的哪种变体,结果都不起作用;我被告知需要赋值左边的左值,或者我正在尝试操作不兼容的类型。

    2 回复  |  直到 14 年前
        1
  •  1
  •   zem    14 年前

    它会比-=解更冗长,但是为什么不直接计算一下 newX newY

    例如

    CGPoint oldPosition = control.layer.position;
    control.layer.position = CGPointMake(oldPosition.x - 50, oldPosition.y);
    
        2
  •  1
  •   ohho    14 年前

    button 附带一个 center 财产,所以:

    button.center = CGPointMake(button.center.x - 50, button.center.y);