Я создал пользовательскую кнопку в PaintCode. ПК имеет много документации по созданию графики, но не использует их.Лучший способ подключить кнопку PaintCode?
Мой метод работает, но у него есть проблемы, с которыми я доберусь ... Я пошел по пути подкласса UIButton, который я разместил в своем раскадровке. Затем я назначил ему класс моей пользовательской кнопки, мы назовем ее customButton
. Используя этот метод, вы можете подключить действие в IB, а выделенное состояние обрабатывается методами touchesBegan
и touchesEnded
в сочетании с переменной, которая переключает выделенный вид, но проблема в том, что выделенное состояние никогда не отображается при быстрых касаниях.
customButton.m
:
@interface customButton()
@property BOOL isPressed;
@end
@implementation customButton
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
-(void) awakeFromNib {
[super awakeFromNib];
_buttonText = @"Post";
}
- (void)drawRect:(CGRect)rect
{
[StyleKit drawCustomButtonWithFrame:rect pressed:_isPressed buttonText:_buttonText];
}
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
_isPressed = YES;
[self setNeedsDisplay];
}
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[self sendActionsForControlEvents:UIControlEventTouchUpInside];
_isPressed = NO;
[self setNeedsDisplay];
}
Мой вопрос: есть ли лучший способ реализации кнопки нарисованный PaintCode? Проблема с этим заключается в том, что он не всегда отображает выделенное состояние и чувствует себя довольно хаки. Неужели есть лучший способ?
Вы отправляете подправить Внутри событий, но вы не проверяя, что прикосновение внутри кнопки, когда она заканчивается. – Fogmeister
Кроме того, вам, вероятно, будет лучше использовать UIButton и изображение. – Fogmeister
@Fogmeister - использовать кнопку PaintCode (как четко указано в вопросе) - чья графика рисуется с кодом и независима от разрешения. – inorganik