2015-04-08 2 views
1

Как создать 2 кнопки в iOS с пользовательскими формами. Мне нужно нарисовать две кнопки, такие как диагональ прямоугольника. Левая сторона - одна кнопка, а правая сторона - другая. Я пробовал использовать пути Безье, но как сделать их адаптивными для всех устройств?iOS UIButton с пользовательскими формами

Вот мой код, который я попытался для одной кнопки

UIBezierPath* bezierPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 138, 118)]; 
[UIColor.blackColor setStroke]; 
bezierPath.lineWidth = 20; 
[bezierPath stroke]; 


CAShapeLayer *shapeLayer = [CAShapeLayer layer]; 
shapeLayer.frame = self.Btn.bounds; 
shapeLayer.path = bezierPath.CGPath; 
shapeLayer.fillColor = [UIColor clearColor].CGColor; 
shapeLayer.strokeColor = [UIColor blackColor].CGColor; 
shapeLayer.lineWidth = 120; 
self.Btn.layer.mask = shapeLayer; 
+2

вы можете показать пример изображения того, что вы хотите? – Esqarrouth

+0

Взгляните на [OBShapedButton] (https://github.com/ole/OBShapedButton). При этом вы можете перекрывать 2 'UIButton', давая им вид одной кнопки, и любая кнопка будет отвечать, только если вы нажмете область поверх изображения. Однако для вашей кнопки вам понадобятся пользовательские изображения. – n00bProgrammer

ответ

1

косяка у просто сделать одну кнопку,

подкласс его и HitTest CGPoint, чтобы определить, какую форму вы должны установить выделен/выбран/etc

Смежные вопросы