ios - त्रिभुज के आकार का UIButton कैसे आकर्षित करें




core-graphics cgcontext (2)

एक चौकोर बटन बनाएं, उसमें त्रिकोण की एक छवि डालें। क्या यह भी काम नहीं करेगा? भ्रम को और भी बेहतर बनाने के लिए, onclick () ईवेंट और ओटचच () के लिए अलग-अलग छवियां बनाएं। डिफॉल्ट बटन को अक्षम करें बटन दबाएं और एनीमेशन पर क्लिक करें ताकि इसे वास्तविक दिख सके।

मैं वास्तव में IFTTT नीचे दायें कोने बटन खोदता हूं, जैसा कि छवि (नीचे दाएं) में दिखाया गया है।

मैंने प्रभाव के मुकाबले के लिए CGContext और UIBezierPath साथ खेलने की कोशिश की, लेकिन मुझे यह अधिकार प्राप्त करने के लिए पर्याप्त जानकारी नहीं है। क्या किसी को इसके बारे में कुछ विचार / कोड है कि ऐसा कैसे होता है?

धन्यवाद!


पहले एक मुखौटा बनाने के लिए एक CAShapeLayer का उपयोग करें

CAShapeLayer * shapeLayer = [CAShapeLayer layer];
//Use these to create path
CGMutablePathRef path = CGPathCreateMutable();
// CGPathMoveToPoint
// CGPathAddLines
shapeLayer.path = path;

फिर अपने बटन का मुखौटा सेट करें

yourbutton.layer.mask = shapeLayer
yourbutton.masksToBounds = YES;

एक दृश्य का उदाहरण

  CAShapeLayer * shapeLayer = [CAShapeLayer layer];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, nil, 0, CGRectGetHeight(self.testview.frame));
CGPathAddLineToPoint(path, nil, CGRectGetWidth(self.testview.frame), 0);
CGPathAddLineToPoint(path, nil, CGRectGetWidth(self.testview.frame), CGRectGetHeight(self.testview.frame));
CGPathCloseSubpath(path);
shapeLayer.path = path;
self.testview.layer.masksToBounds = YES;
self.testview.layer.mask = shapeLayer;

और स्क्रीन शॉट:





cgcontext