Альфа-канал 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];