2

我有一个 UIBarButtonItem 包含一个按钮,我在其上为按下/未按下状态设置了自定义背景图像。按下的图像向下移动 4px,因此未按下时的文本看起来垂直偏离中心。我知道我可以用它[button setTitleEdgeInsets:UIEdgeInsetsMake(10.0, 10.0, 0.0, 0.0)]来改变文本标签的位置,但我可以只为某个控制状态(未按下)执行此操作吗?

如果这意味着子类化 UIButton,我不会自己在 drawRect 中处理所有绘图吗?

4

1 回答 1

1

不,如果您将UIButton. 一种方法是简单地键值观察子类中的enabledselected属性,然后在状态发生变化时将边缘插入调整为适当的值。这里的这个问题与观察按钮的状态变化有关。

于 2012-02-19T15:01:24.537 回答