单击时,单元格上UI按钮的高度和宽度会发生变化

时间:2015-04-23 14:17:52

标签: ios objective-c uibutton

我在这里有两个问题。

1)。 在我的cellForRowAtIndexPath中,我添加了以下代码。

[cell.comB addTarget:self action:@selector(comBClick:) forControlEvents:UIControlEventTouchUpInside];

当用户点击该单元格中的按钮时,将触发以下方法。但是,点击后UIbutton的位置会发生变化。按钮滑了一下。我该如何防止这种情况?当我调试时,我注意到在执行[((UIButton *)sender) setBackgroundImage:[UIImage imageNamed:@"m.png"] forState:UIControlStateSelected]; 行后按钮位置发生了变化。

- (void) comBClick:(id) sender {

    if(c%2==0)

    {

        [((UIButton *)sender) setBackgroundImage:[UIImage imageNamed:@"m.png"] forState:UIControlStateNormal];

    } else {

        [((UIButton *)sender) setBackgroundImage:[UIImage imageNamed:@"n.png"] forState:UIControlStateNormal];

    }

    c=c+1;

}

2。

如何找到UIButton的widthheight

更新

我有以下AutoLayout警告,我认为这是问题的原因。有人可以告诉我什么是错的以及如何解决它?

enter image description here

1 个答案:

答案 0 :(得分:0)

2)

这是最简单的方法:

float widht = ((UIButton *)sender).bounds.size.width;
float height = ((UIButton *)sender).bounds.size.height