Если Вы хотите решение от другой перспективы..., если можно выполнить страницы через php и Очиститель HTML, это может автоотформатировать вывод и linkify любые URL.
Хорошо, я отвечаю на свой вопрос здесь.
Я нашел несколько ссылок на эту ошибку через Google, но все работали над ней, играя с размерами шрифтов. После долгих поисков я нашел этот поток , в котором говорится, что сглаживание применяется, когда кадр представления содержит дробные значения пикселей, например, если вы вычисляете его размер как долю от супер-представления.
Конечно, приведение значения CGRect для (int) для кадра представления работали отлично. Так, например, если вы хотите, чтобы ваше текстовое поле было центрировано по вертикали в супервизоре, вам следует использовать приведение типа (int) следующим образом:
textFieldWidth = 300; textFieldHeight = 31; offsetX = 0; offsetY = (superview.bounds.size.height - textFieldHeight) / 2; textField.frame = CGRectMake((int) offsetX, (int) offsetY, (int) textFieldWidth, (int) textFieldHeight);
Существует также функция CGRectIntegral, которую вы можете использовать для преобразования CGRect в целые значения .
Используйте CGRectIntegral , чтобы убедиться, что рамки текстовых полей основаны на целочисленных координатах. Вы получите нечеткое сглаживание, когда все будет в дробных координатах.
Я хотел бы внести свой вклад, так как я только что обнаружил ответ самостоятельно после небольшого разочарования.
UITextField в InterfaceBuilder имеет принудительную высоту кадра 31 пиксель. Его нельзя перетащить, чтобы изменить размер, и его нельзя установить в свойствах фрейма в IB. Вам нужно перейти в viewDidLoad и настроить высоту кадра на 32 пикселя, и это должно решить проблему.
Надеюсь, будущие версии IB исправят это.
В дополнение к используя нефракционное позиционирование, следует обязательно использовать нецентрированное вертикальное выравнивание для UITextField. Похоже, центрированное вертикальное выравнивание в сочетании с нестандартным размером шрифта также приводит к размытому тексту.
я пробовал использовать CGRectIntegral и прочее. В моем случае изменение минимального размера шрифта и размера шрифта в IB сделало это.
Я сталкивался с этой проблемой раньше. Решение, приведенное ниже, отлично работает для любого текста или любого размера кадра, поскольку он использует функцию округления, чтобы избавиться от дробных значений пикселей. Вставьте следующий код после создания экземпляра рассматриваемого поля uitext.
CGRect temp = textField.frame;
temp.origin.x = round(temp.origin.x);
temp.origin.y = round(temp.origin.y);
textField.frame = temp;
Простая установка высоты кадра UITextField
на четное значение исправила это для меня.