2013-04-20 2 views
0

Просто с некоторым затруднением с UIButton. Я удалить все подвиды с помощьюПочему я не могу установить backgroundImage UIButton после удаления всех подзаголовков

for (UIView *v in button.subviews) { 
    [v removeFromSuperview]; 
} 

Но я хочу, чтобы установить фоновое изображение после использования

[button setBackgroundImage:[UIImage imageNamed:@"backgroundImage.png"] forState:UIControlStateNormal]; 

и ничего не происходит. Если я не удаляю все подпункты, чем работает предыдущий код.

Таким образом, возможно, что удаление всех подзапросов действительно удаляет backgroundImage, и в этом случае можно ли вернуть backgroundImage обратно?

ответ

0

Да, в соответствии с тем, что вы испытали, фоновое изображение, кажется, отображается с использованием отдельного поднабора. Короткий ответ: вместо того, чтобы изнасиловать низкую иерархию просмотров (которая в любом случае является частной), вы должны следить за добавленными вами надзорами и удалять только те из них.

+0

Кажется, что простой способ - это не всегда лучший способ = D Спасибо. –