Как использовать функцию CGRectIntegral? Я понимаю, что это цель.CGRectIntegral, каково его использование?
documentation не совсем понятно.
Как использовать функцию CGRectIntegral? Я понимаю, что это цель.CGRectIntegral, каково его использование?
documentation не совсем понятно.
CGRectIntegral конвертировать любые десятичные значения их целочисленных эквивалентов
см изображение может быть вы можете понять
Как я могу это исправить?
frame = CGRectIntegral(frame);
-ИЛИ-
myTextView.frame = CGRectIntegral(myTextView.frame);
увидеть это for more information of CGRectIntegral
Одно конкретное применение заключается в фиксации кадров, которые не совпадают полностью с экранными пикселями.
Смотрите этот вопрос: UITextField blurred text
Если метка или текстовое поле имеет рамку, которая не пиксельных выровнены при визуализации на экране, текст будет выглядеть размытым. Это может произойти, если вы вычисляете фрейм с помощью деления (например, чтобы центрировать его в родительском представлении).
CGRectIntegral
удалит дробную часть кадра, исправив эту проблему. Однако обратите внимание, что при отображении сетчатки значение кадра .5 выравнивается по пикселям, но CGRectIntgral все равно удалит дробную часть.
CGRectIntegral
Метод используется для создания целочисленного прямоугольника. Я хочу сказать, предположим, что если вы вычисляете фрейм в приложении, вы можете получить значение фрейма в float.
Установка значения float как кадра для некоторого UIElement как UILabel
заставит текст выглядеть размытым. Чтобы избежать этого, мы используем CGRectIntegral
Пожалуйста посылайте взгляд на примере ниже,
NSLog(@"%@",NSStringFromCGRect( CGRectIntegral(CGRectMake(0, 15.6, 16.1, 20.2))));
Это будет печатать, {0,15}, {17,21}.
Это объяснение содержится в файле заголовка.
/* Expand `rect' to the smallest rect containing it with integral origin and
size. */
Изображение слева немного нечеткое, потому что кадр установлен на границе пикселя. Так что происхождение - это что-то вроде 20.5, 8.5. CGRectIntegral привязывает его обратно к 20, 8. – ariopolis
Если вы хотите, чтобы размытые изображения были выделены фиолетовым в симуляторе iOS, выберите «Отладка»> «Цветные несоответствующие изображения». Таким образом, вам не придется косоглазиться повсюду, чтобы выяснить, какие вещи размыты. – JoJo
Важно добавить: CGRectIntegral предназначен для заполнения/рисования пиксельных буферов. Строковые фигуры центрированы вокруг своих координат, поэтому вам действительно понадобятся не интегральные (например, 0,5 на 1x экранах) координаты, чтобы они выглядели четкими. См. Здесь более подробное объяснение: http://orangejuiceliberationfront.com/are-your-rectangles-blurry-pale-and-have-rounded-corners/ – uliwitness