Альфа-канал PNG на UIButton (iPad)

Я относительно новичок в программировании iPad на Touch Cocoa.

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

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

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

1 ответ

Вы можете добавлять изображения или устанавливать изображения в 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];
Другие вопросы по тегам