iPhone: как отобразить подчеркнутый текст в кнопке?

Если экземпляры уже находятся в сеансе (кеш основного уровня) или кеш второго уровня iterate(), это даст лучшую производительность.

Если они еще не кэшированы, iterate() будет медленнее, чем list() и может потребовать много запросов к базе данных для простого запроса.

13
задан TechZen 15 April 2010 в 13:40
поделиться

4 ответа

Другой альтернативой является установка изображения для кнопки. Создайте изображение, которое отображает соответствующий текст, и кнопка будет отображать его вместо текста.

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

3
ответ дан 1 December 2019 в 17:19
поделиться

Или можно создать расширение UIButton (Swift 5):

extension UIButton {
    func underline() {
        if let textUnwrapped = self.titleLabel?.text {
            let underlineAttribute = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue]
            let underlineAttributedString = NSAttributedString(string: textUnwrapped, attributes: underlineAttribute)
            self.setAttributedTitle(underlineAttributedString, for: .normal)
        }
    }
}
-1
ответ дан 1 December 2019 в 17:19
поделиться

Чтобы сделать то, что вы хотите, вам нужно будет использовать CGContextStrokePath (), чтобы нарисовать подчеркивание на CGLayer UILabel.

При этом я призываю вас пересмотреть свой выбор дизайна. Отображение текста кнопки в виде гиперссылки имеет смысл в настольном приложении Windows (например, с использованием LinkLabel ). Однако операционная система iPhone имеет другой набор условных обозначений пользовательского интерфейса из-за меньшего размера экрана и необходимости использования больших целевых устройств для сенсорного ввода.

Подход "Cocoa Touch" к этой проблеме заключался бы в отображении списка почтовых идентификаторов с помощью UITableView. Поместите в каждый ряд соответствующую кнопку для аксессуаров. Например, вы можете использовать либо UITableViewCellAccessoryDetailDisclosureButton , либо UIButton с buttonType из UIButtonTypeContactAdd ). Затем обработчик события вспомогательной кнопки вызовет составителя почты.

Удачи и удачного кодирования!

3
ответ дан 1 December 2019 в 17:19
поделиться

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

Синий подчеркнутый вид гиперссылки является ожидаемой нормой, но поймите, что это способ ПК. А как это делается на iPhone?

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

Было бы интересно узнать, что делают другие.

0
ответ дан 1 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: