Установіть назву кнопки у двох різних кольорах на пристроях iOS

Я хочу встановити назву кнопки у двох кольорах.

Чи можливо таке ж, як наведене зображення нижче?

Button in 2 colors

Будь-яка допомога буде оцінена.

Заздалегідь спасибі.

3
@MidhunMP: Ні, я отримаю текст з веб-сервісу. Отже, не можна встановити як зображення.
додано Автор MS., джерело
@JayGajjar: Як я згадав, я отримую відповідь від веб-сервісу. Тому я не можу встановити зображення.
додано Автор MS., джерело
Це може бути зображення.
додано Автор Midhun MP, джерело
@iManan: використовуйте атрибут тексту та основний текст
додано Автор Midhun MP, джерело
Так, додайте зображення як backgroundImage UIButton
додано Автор Kumar KL, джерело
Використовувати приписений текст для заголовка ..
додано Автор Kumar KL, джерело
Було б дуже просто помістити зображення, а не розфарбовувати текст ...
додано Автор Jay Gajjar, джерело
Що ви можете зробити, це завантажити зображення через websevices у двійковому форматі, а потім зберегти зображення на пристрої. Таким чином, ваш веб-сервіс буде викликати один раз, а потім ваше зображення буде завантажено сама форм-сама
додано Автор Jay Gajjar, джерело
Ви можете використовувати зображення з текстом для кнопки
додано Автор Prateek Prem, джерело
@iManan: Я теж хочу досить таке ж рішення для версії iOS менш ніж 6.0. Я також спробував CTFontRef , але без успіху. Будь ласка, дайте мені знати, якщо ви знайшли когось.
додано Автор Krunal, джерело

6 Відповіді

This is what you need

  UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
  btn.frame = CGRectMake(5,10,300,20);
  [self.view addSubview:btn];

  NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"100 Photos"]];
  [attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 3)];
  [btn setAttributedTitle:attrStr forState:UIControlStateNormal];
15
додано
Він повинен працювати в iOS 5, 6 і вище.
додано Автор MS., джерело
@ iManan - який ваш тахет ось
додано Автор Vivek Sehrawat, джерело
для Xamarin використовувати UIStringAttributeKey.ForegroundColor як attribtename NSString
додано Автор Klaasel, джерело

У storyBoard: Дотримуйтесь ScreenShot.

enter image description here

enter image description here

enter image description here

For Programmatically : There are already many answers posts over here for attributed text and If you want to put BackgroundImage for UIButton Set a button background image iPhone programmatically

11
додано
KI: Чи можу я встановити програму після завантаження запису з відповіді веб-служби?
додано Автор MS., джерело
Так Але він працює тільки в> iOS 6.
додано Автор MS., джерело
Так . Ви можете встановити його програмно ..
додано Автор Kumar KL, джерело
Дякую за знімок екрана. Я не зрозумів, що я мав підкреслити текст у вікні, щоб змінити колір. Не вдалося з'ясувати, чому встановлені кольори не працювали!
додано Автор tarrball, джерело

Спробуйте це

NSMutableAttributedString *mutableString = [[NSMutableAttributedString alloc] initWithString:@"ThisIsAttributed"];
[mutableString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,4)];
[mutableString addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor]  range:NSMakeRange(5,2)];
[button setAttributedTitle:mutableString forState:UIControlStateNormal];
2
додано
Так Але він працює тільки в> iOS 6.
додано Автор MS., джерело

Для швидкого 3:

let button = UIButton()
let mainTitle = "200"
let subtitle = "Members"

let attrText1 = NSMutableAttributedString(string: mainTitle)
attrText1.addAttribute(NSFontAttributeName, value: 15, range: NSMakeRange(0, attrText1.length))
attrText1.addAttribute(NSForegroundColorAttributeName, value: UIColor.black, range: NSMakeRange(0, attrText1.length))


let attrText2 = NSMutableAttributedString(string: subtitle)
attrText2.addAttribute(NSFontAttributeName, value: 15, range: NSMakeRange(0, attrText2.length))
attrText2.addAttribute(NSForegroundColorAttributeName, value: UIColor.yellow, range: NSMakeRange(0, attrText2.length))

let attributedText = NSMutableAttributedString()
attributedText.append(attrText1)
attributedText.append(attrText2)

//Center align
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .center

attributedText.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSMakeRange(0,attributedText.length))

button.setAttributedTitle(attributedText, for: .normal)
2
додано
[button setAttributedTitle:someAttributedText forState:UIControlStateNormal];
0
додано

ви можете використовувати для iOS нижче 5.0  і NSMutableAttributedString для поточних версій ios.

0
додано
IT KPI iOS
IT KPI iOS
74 учасників

Чат обсуждения IOS. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/602

ios_jobs_ua
ios_jobs_ua
27 учасників

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.