2014-11-19 3 views
1

Мне интересно, есть ли способ сделать буквы в каждом слове, окрашенном с использованием языка программирования Swift. Я ищу идеи и идеи.Конкретные буквы, которые имеют каждый конкретный цвет?

Пример:

println("This is a string") 

будет выглядеть следующим образом:

http://i.stack.imgur.com/IqxCh.png

Просто упаковывают это помогает, я нашел другие языки, которые способны окрасочное каждую букву конкретно с цветом через JavaScript и Microsoft Word. Я из-за пределов, любой мог бы помочь. Благодаря!

Примеры: https://superuser.com/questions/230665/how-do-i-change-the-font-color-of-a-specific-letter-throughout-the-entire-ms-wor Is there any clean CSS method to make each letter in a word a different color?

+4

Нет проблем, просто использовать NSAttributedString и дать каждому персонажу другой цвет. – matt

+0

http://stackoverflow.com/questions/25591379/multiple-colors-in-a-uilabel – Thilo

+0

См. Мой ответ здесь http://stackoverflow.com/a/26726865/341994 и обратите внимание на иллюстрацию: некоторые буквы имеют разные цвета , Твой просто крайний случай! :) – matt

ответ

1

Предполагая, что вы используете UILabel имени myLabel:

let str = "This is a string" 
let colors:[UIColor] = [ 
    .blackColor(),  // T 
    .darkGrayColor(), // h 
    .lightGrayColor(), // i 
    .grayColor(),  // s 

    .clearColor(),  // 

    .redColor(),  // i 
    .greenColor(),  // s 

    .clearColor(),  // 

    .blueColor(),  // a 

    .clearColor(),  // 

    .cyanColor(),  // S 
    .yellowColor(), // t 
    .magentaColor(), // r 
    .orangeColor(), // i 
    .purpleColor(), // n 
    .brownColor(),  // g 
] 

let attrStr = NSMutableAttributedString() 
for (chr, color) in Zip2(str, colors) { 
    attrStr.appendAttributedString(
     NSAttributedString(string: String(chr), attributes: [NSForegroundColorAttributeName:color]) 
    ) 
} 

myLabel.attributedText = attrStr 
Смежные вопросы