2013-07-28 8 views
1

У меня есть пользовательский UIButton, который равен 1/4 по высоте/ширине. То, что я пытаюсь сделать, - установить изображение над заголовком кнопки, причем оба они центрированы в указанной кнопке.Изображение центра над заголовком UIButton

Код:

CGRect imageFrame= CGRectMake(0, 0, 80, 80); 
UIEdgeInsets imageInset = UIEdgeInsetsMake(0, 0, 30, 0); 
UIEdgeInsets titleInset = UIEdgeInsetsMake(80, 0, 0, 0); 

btnSideSettings = [UIButton buttonWithType:UIButtonTypeCustom]; 
btnSideSettings.frame = settingsFrame; 
[btnSideSettings setImage:[UIImage imageNamed:@"btnSideSettings"] forState:UIControlStateNormal]; 
btnSideSettings.imageView.frame = imageFrame; 
btnSideSettings.imageEdgeInsets = imageInset; 
btnSideSettings.titleEdgeInsets = titleInset; 
btnSideSettings.titleLabel.textAlignment = NSTextAlignmentCenter; 
[btnSideSettings setTitle:@"Settings" forState:UIControlStateNormal]; 

Результат: enter image description here

Я попробовал несколько вариантов кода выше, в основном редактирования врезки. Если я прокомментирую добавление картинки, название будет сосредоточено также отлично. Цените любую помощь.

+0

btnSideSettings.frame = settingsFrame; ?? – mindfreak

ответ

1

Вместо того, чтобы пытаться манипулировать изображением и текстом на кнопке, вы можете добавить свои собственные представления (вид изображения и метку), а затем у вас есть полный и явный контроль над размером и положением элементов.

+1

Закончилось, это намного проще в обслуживании. –