2010-05-08 2 views
6

У меня есть следующий код.Пользовательское изображение и рамка UIButton

UIImage *cancelImg = [UIImage imageNamed:@"cancel.jpeg"]; 
    UIButton *btnCancel = [UIButton buttonWithType:UIButtonTypeCustom]; 
    btnCancel.userInteractionEnabled = YES; 
    [btnCancel setFrame:CGRectMake(0.0,0.0, 28.0, 28.0)]; 
    [btnCancel setImage:cancelImg forState:UIControlStateNormal]; 
    cell.accessoryView = btnCancel; 

cancel.jpeg в настоящее время больше, чем 28 х 28, и это на самом деле 100 х 100.

Почему кнопка дисплея 100 х 100 размер изображения, когда я настроил размер в UIButton на 28 x 28?

+0

Мне пришлось изменить размер изображения до 28 х 28. Я просто подумал, что рамка UIButton перекроет изображение 100 х 100 до 28 х 28. Не угадай. –

ответ

13

Кнопка image не будет изменена. Установите как backgroundImage, если вам нужно масштабировать.

[btnCancel setBackgroundImage:cancelImg forState:UIControlStateNormal]; 
+0

очень полезно ответ. – pmk

3

Это поведение должно быть изменено с тех пор, поскольку приведенный выше код создает уменьшенную кнопку на iOS 4.2.

+0

Dang. Я действительно хотел, чтобы поведение было опубликовано. Спасибо, что опубликовали это. – AndrewKS

0

Я экспериментировал в iOS 5 с пользовательскими кнопками, которые автоматически регулируются при изменении ориентации устройства. Я устанавливаю как backgroundImage, так и изображение с теми же начальными границами, что и кнопка, и то, что я вижу, это то, что backgroundImage изменяется, а изображение отсутствует, но остается в центре кадра кнопки.

Смежные вопросы