Как установить только изображение логотипа Apple для входа с помощью кнопки Apple

Я разрабатываю приложение, в котором я предоставил три варианта входа, такие как facebook, google и apple. и мне нужно установить одинаковый дизайн для всех трех. Мой вход с помощью кнопки Apple прямоугольный, и я хочу знать, могу ли я изменить дизайн этой кнопки и как. Мне нужно сделать его круглым только с логотипом Apple, а не с текстом. Итак, как я могу установить изображение логотипа Apple на ASAuthorizationAppleIDButton. Я читал о дизайне яблок по следующей ссылке, но ничего не упоминается о том, как установить изображение на кнопку. https://developer.apple.com/design/human-interface-guidelines/apple-pay/overview/buttons-and-marks/


person amey rane    schedule 13.07.2020    source источник


Ответы (2)


Вам необходимо создать собственную кнопку согласно Руководство Apple по человеческому интерфейсу. Вы должны следовать их инструкциям, чтобы избежать отказов в рецензировании.

Ресурсы по дизайну Apple можно загрузить с здесь

Чтобы добавить пользовательскую кнопку в приложение:

func appleCustomLoginButton() {
   //Sign in with app is only available from iOS 13 onwards
    if #available(iOS 13.0, *) {
        let customAppleLoginBtn = UIButton()
        customAppleLoginBtn.backgroundColor = UIColor.white
        customAppleLoginBtn.setImage(UIImage(named: "appleLogo"), for: .normal)
        customAppleLoginBtn.addTarget(self, action: #selector(actionHandleAppleSignin), for: .touchUpInside)
        view.addSubview(customAppleLoginBtn)

        // Setup Layout Constraints to be in the center of the screen
        customAppleLoginBtn.translatesAutoresizingMaskIntoConstraints = false
        NSLayoutConstraint.activate([
            customAppleLoginBtn.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
            customAppleLoginBtn.centerYAnchor.constraint(equalTo: self.view.centerYAnchor),
            customAppleLoginBtn.widthAnchor.constraint(equalToConstant: 200),
            customAppleLoginBtn.heightAnchor.constraint(equalToConstant: 40)
            ])
    }
}

@objc func actionHandleAppleSignin() {

    //do something when button is clicked
}
person Mahendra    schedule 13.07.2020

Все очень просто. Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь спрашивать, спасибо.

     //1. setting apple logo
        let appleLogo = UIImage(systemName: "appleLogo.png")!
     //2. create a button
        let button = UIButton()
     //3. setImage with image name
        button.setImage(appleLogo, for: .normal)
     //4. Set image rounded.
        button.layer.cornerRadius = button.frame.height/2
     //5. Setting empty button text
        button.titleLabel?.text = ""
person Kudos    schedule 13.07.2020
comment
Объясните, почему вы думаете, что это правильное решение. Это может быть очень просто для вас, но не для других. - person koen; 13.07.2020
comment
Привет, @koen, ты попробовал мой метод. Т.к. это очень простой способ. Я написал комментарий для понимания. - person Kudos; 13.07.2020