#iphone #objective-c #uibutton #pixel #highlight
#iPhone #objective-c #uibutton #пиксель #выделить
Вопрос:
У меня есть UIButton (тип: пользовательский) в UIView, настроенном в построителе интерфейсов, добавьте к нему изображение для состояния по умолчанию с размерами сетчатки. Когда я пытаюсь использовать свой iPhone, я вижу версию изображения на сетчатке, когда я выделяю его, нажимая на него, оно становится пикселизированным при выделении.
Самое смешное, что когда я меняю изображение UIButton с помощью кода, ошибка с пикселизацией отсутствует.
Кто-нибудь знает обходной путь без загрузки всех моих изображений кнопок с помощью кода? спасибо!
Комментарии:
1. Проверьте документы для UIButton , чтобы узнать, как это сделать правильно. И я настоятельно рекомендую узнать, как разорвать вашу зависимость от Interface Builder. Вы будете только совершенствоваться как разработчик.
2. Я полностью не согласен с этим. Как не использовать предоставленные инструменты, улучшая себя как разработчика.
3. Я согласен с гиперболой. Когда я обновляю xCode, он много раз перепутывается, но без зависимости от interface Builder я продолжаю работать. Кроме того, перенос приложения также упрощается.
Ответ №1:
В построителе интерфейса вы можете указать как обычное состояние, так и изображения выделенного состояния: просто выберите требуемую «Конфигурацию состояния» и настройте кнопку.
Если вы указали изображение для состояния по умолчанию и оставили изображение для «Выделенного» состояния пустым и включили свойство «Подсвеченное корректирующее изображение», то кнопка будет использовать изображение состояния по умолчанию и выделять его серым цветом при нажатии.
Однако, если ваше изображение выделенного состояния также установлено, кнопка будет использовать его вместо создания собственного выделения.
Другие вещи, которые нужно проверить: убедитесь, что обе версии изображения включены в проект.
Например. скажем, у вас есть «button_image.png» и «button_image@2x.png «. Убедитесь, что они оба находятся в проекте. Кроме того, когда вы указываете изображение в построителе интерфейса, используйте имя изображения стандартной четкости, cocoa автоматически выберет версию 2x — т. Е. Вы должны поместить «button_image.png» в качестве изображения вашей кнопки, а не «button_image@2x.png «
Надеюсь, это поможет