2016-12-26 6 views
0

enter image description hereКак достичь этого UI/UX дизайн для объекта IOS UIButton

Посмотрите на прохладный Trick UI для «Забыли пароль? Получить помощь для входа в систему.» кнопка. Как они разбили кнопку в кликабельный раздел без кликов? Если это не одна кнопка, а ярлык и кнопка, то как они получили вторую линию кнопки для центрирования?

+0

выглядит как веб-страницы – sage444

+1

попробовать [TTTAttributedLabel] (https://github.com/TTTAttributedLabel/TTTAttributedLabel) или [FRHyperLabel] (https://github.com/null09264/FRHyperLabel) –

ответ

1

Используйте атрибутированную строку для установки названия кнопки. См. Приведенный ниже код для справки.

func attributedText(){ 
      // create attributed string 
     let attributedString = NSMutableAttributedString(string:"Don't have an account? ") 
     let myString = "Sign Up" 
     let myAttribute = [ NSForegroundColorAttributeName: UIColor(red: 194/255, green: 159/255, blue: 74/255, alpha: 1.0) ] 
     let myAttrString = NSAttributedString(string: myString, attributes: myAttribute) 
     attributedString.append(myAttrString)  
     myCustomButton.setAttributedTitle(attributedString, for: .normal) 

    } 
+0

Но не это сделать бы целая строка, а не слова «Зарегистрироваться»? –

1

Вы также можете попробовать так:

enter image description here

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

+1

@Manan Это принятый ответ, но когда пользователь нажимает на 'ils?' Из слова 'details? ', Тогда будет вызываться событие нажатия кнопки. так что, возможно, это неправильный подход. –

+0

@ ChintaN-Maddy-Ramani да, это правда. Но мы можем сделать только одно, либо сделать интерфейс так, как есть. Или сделайте вторую строчку, содержащую «in» в правой части правой стороны, чтобы она не покрывала «детали». Есть ли другой путь? – Amanpreet

+0

Я уже прокомментировал библиотеки, которые работают как ожидалось –

1

Это ярлык и кнопка без названия над текстом синего цвета, поэтому перетащите ярлык на свою раскадровку и соедините его со своим быстрым файлом (я назвал его labelText) и кнопкой над нужным вам текстом.

Тогда внутри функции viewDidLoad поместить эти строки:

// You can change the color as you want 
    let color: UIColor = UIColor(red: 2/255.0, green: 202/255.0, blue: 246/255.0, alpha: 1.0) 

    let string_to_color = "Get help signing in." 

    let titleStr: String = labelText.text! 

    let range: NSRange = (titleStr as NSString).rangeOfString(string_to_color) 

    let str: NSMutableAttributedString = NSMutableAttributedString(string: titleStr) 
    str.addAttribute(NSForegroundColorAttributeName, value: color, range: range) 
    //Below line is if you want a line under your colored text 
    //str.addAttribute(NSUnderlineStyleAttributeName, value: NSUnderlineStyle.StyleSingle.rawValue, range: range) 

    labelText.attributedText = str 

И теперь вы готовы отправиться.

Счастливое кодирование.

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

  • Нет связанных вопросов^_^