Создать полупрозрачную uibutton со сплошным белым текстом

#ios #swift #xcode #uistoryboard

#iOS #swift #xcode #uistoryboard

Вопрос:

Я пытаюсь создать кнопку, похожую на следующую: введите описание изображения здесь

Я попытался дать альфа-версию с белым цветом текста, но я получаю следующее:

введите описание изображения здесь

Редактировать:

 textfield.backgroundColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 0.7)
textfield.textColor = .white
  

Приведенный выше код дает второе изображение. Но изображение выше выглядит уродливо.

Как я могу создать uitextfield, подобный первому изображению?

Редактировать:
Комплексное решение:

 txtLogin.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.1)
    txtLogin.textColor = .white
    txtLogin.attributedPlaceholder = NSAttributedString(string:"Username",
                                                      attributes:[NSForegroundColorAttributeName: UIColor(red: 245, green: 245, blue: 241, alpha: 0.7)])
    let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: 20))
    txtLogin.leftView = paddingView
    txtLogin.leftViewMode = UITextFieldViewMode.always

    let layer: CALayer! = txtLogin.layer
    layer.cornerRadius = 4.0
    layer.borderWidth = 0
  

С уважением

Комментарии:

1. Что вы сделали, чтобы сделать изображение внизу? Опубликуйте некоторый код.

2. пожалуйста, проверьте редактирование

3. Итак, вы говорите мне, что код, который вы пытались выполнить, был буквально таким же, как код, который я предложил?

4. Я сделал это из раскадровки ранее, но когда я попробовал ваш код, он дал тот же результат

5. 1) 1 способ: я думаю, вам следует создать uiview с видом изображения внутри (возьмите изображение с первого экрана и установите для него режим просмотра изображения). Затем добавьте uitextfiled для полного размера просмотра с прозрачным цветным фоном. Также установите для него заполнитель белого цвета. 2) 2 способа: нужно поиграть с углами, настроить границу, цвет границы, поиграть с bg кажется, что кнопки bg получили «глянцевый эффект», поэтому вы должны использовать пользовательский градиент.

Ответ №1:

Что вам нужно сделать, это установить альфа-символ кнопки в нужную точку. Так, например, это будет иметь полупрозрачный фон и белый цвет текста:

 button.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.1)
button.textColor = .white
button.attributedPlaceholder = NSAttributedString(string:"placeholder text",
                                                   attributes:[NSForegroundColorAttributeName: UIColor.white])
  

Комментарии:

1. он дает похожее изображение

2. @pankaj, это похожее изображение или то же изображение? Почему вы разместили мой код как свой собственный. Что вы на самом деле пробовали?

3. Прошу прощения за публикацию этого в качестве моего кода, я имел в виду, что попробовал ваш код, но он дал тот же результат

4. @WMios зачем нажимать и пытаться. Просто укажите фон текстового поля как белый с буквой 0.1. textField.backgroundColor = UIColor.white.withAlphaComponent(0.1)

5. Благодаря WMios, в дополнение к приведенному выше коду я добавил немного отступов в начале, закругленный угол, немного прозрачности для заполнителя, и теперь он почти похож на первое изображение.