Главная » iPhone » UlCompositelmage View. многоуровневая прозрачность

0

Apple славится своими великолепными перекрытиями и прозрачностью. Один из способов сделать это возможным и на iPhone— использование класса UlCompositelmageView. Этот класс позволяет нескольким изображениям накладываться друг на друга, применяя разные уровни прозрачности, а каждому изображению просвечивать насквозь. Такой эффект отлично подходит для разработки собственных пользовательских интерфейсов, например, экранов видеоигр, имеющих перекрытия элементов управления.

Данный класс использует простой интерфейс, позволяя изображениям добавляться по очереди. Изображения могут накладываться поверх друг друга или добавляться в различные части окна:

UlCompositelmageView ^compositeView = [

[ objc_getClass("UlCompositelmageView") alloc ] initwithFrame: rect

J;

После того как изображения будут созданы, они по отдельности добавляются путем вызова метода addlmage:

[ compositeView addlmage: [ Ullmage defaultDesktopImage ] ];

Прозрачность

Затененность каждого изображения можно настроить при его создании (в программе рисования) или же при добавлении его к составному виду во время исполнения. Составной вид сам по себе может выполнять над уровнем нового изображения после его добавления ограниченное количество операций. Они включают в себя операции, перечисленные в табл. 7.2.

Таблица 7.2

Операция

Описание

1

Установка яркости (intensity)

2

Установка затененности (opacity)

Чтобы сделать изображение полупрозрачным, используйте операцию затененности (2). Аргумент fraction задает уровень затененности изображения, в следующем примере — 50%:

[ compositeView addlmage:

[ Ullmage applicationlmageNamed: @"overlay.png" ] operation: 2 fraction: 0.5

];

Источник: Здзиарски Дж. iPhone. Разработка приложений с открытым кодом: Пер„с англ. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2009. — 368 е.: ил.

По теме:

  • Комментарии