Альфа-канал PNG на UIButton (iPad) - PullRequest
0 голосов
/ 10 июня 2010

Я относительно новичок в программировании для iPad на сенсорном экране какао.

У меня есть PNG с альфа-каналом.Я хочу наложить его как подпредставление на UIButton, чтобы оно выглядело так, как будто у кнопки есть рамка вокруг него.(Альфа-канал является центром изображения, поэтому пользователь все равно должен видеть сквозь него.)

Мне не удается найти способ правильно отобразить альфа-канал.Центр по-прежнему отображается непрозрачным белым цветом.

Если я не могу этого сделать, как бы я смог нарисовать границу вокруг кнопки UIButton?Подкласс UIButton и переопределить -drawRect?Имейте в виду, что кнопки добавляются программно (динамически), а также границы.(Я не хочу удалять кнопку, чтобы добавить границу.) Было бы предпочтительнее альфа-решение, потому что тогда я могу наложить изображение границы на суперпредставление (вид с прокруткой) и просто установить смещение, соответствующее кнопке.

1 Ответ

1 голос
/ 10 июня 2010

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

Редактирование с наложением:

    UIButton *button = [UIButton buttonWithType....]; // your ordinary button here
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"youroverlay.png"]];
    // maybe adjust your overlay position here, e.g. imageView.center = .... (use bounds of button, not its frame), or the size directly
    [button addSubview:imageView];
...