2017-10-10 4 views
-6

私はチャットアプリで作業していますが、画像のようにラベルを作成しようとしていますが、誰も助けてくれません。 Xcodeでスワイプの画像を下のようにするには

enter image description here

+1

、https://www.innofied.com/creating-old-style-message-bubble-swift/ – Malik

+0

を見て、このhttps://www.youtube.com/watch?v=kR9cf_K_9Tk –

答えて

1

、あなたの資産に行くあなたのバブルの画像を選択し、show slicingをクリックしてください。

スライシングを使用すると、画像を変形せずに所定のスライスでストレッチすることができます。

+1

感謝を試してみますそれは本当に優れている兄弟 – Jaydip

-1

CoreGraphicsを使用してこのフォームを描画するのは複雑です。私は完璧ではないこの結果を達成しました。 "drawRect"メソッドでこのコードを使用することができますし、テキストを描画(またはレイアウトをオーバーライド)する必要があります。

func drawCanvas1(frame: CGRect = CGRect(x: 0, y: 0, width: 120, height: 100)) { 
    //// General Declarations 
    // This non-generic function dramatically improves compilation times of complex expressions. 
    func fastFloor(_ x: CGFloat) -> CGFloat { return floor(x) } 

    //// Rectangle Drawing 
    let rectanglePath = UIBezierPath(roundedRect: CGRect(x: frame.minX + fastFloor(frame.width * 0.25000 + 0.5), y: frame.minY + fastFloor(frame.height * 0.00000 + 0.5), width: fastFloor(frame.width * 1.00000 + 0.5) - fastFloor(frame.width * 0.25000 + 0.5), height: fastFloor(frame.height * 1.00000 + 0.5) - fastFloor(frame.height * 0.00000 + 0.5)), cornerRadius: 10) 
    UIColor.gray.setFill() 
    rectanglePath.fill() 


    //// Bezier 3 Drawing 
    let bezier3Path = UIBezierPath() 
    bezier3Path.move(to: CGPoint(x: frame.minX + 0.5, y: frame.minY + 85.5)) 
    bezier3Path.addCurve(to: CGPoint(x: frame.minX + 30.5, y: frame.minY + 64.5), controlPoint1: CGPoint(x: frame.minX + 0.5, y: frame.minY + 85.5), controlPoint2: CGPoint(x: frame.minX + 30.5, y: frame.minY + 85.5)) 
    bezier3Path.addCurve(to: CGPoint(x: frame.minX + 43.5, y: frame.minY + 99.5), controlPoint1: CGPoint(x: frame.minX + 30.5, y: frame.minY + 43.5), controlPoint2: CGPoint(x: frame.minX + 43.5, y: frame.minY + 99.5)) 
    bezier3Path.move(to: CGPoint(x: frame.minX + 0.59, y: frame.minY + 85.5)) 
    bezier3Path.addCurve(to: CGPoint(x: frame.minX + 43.5, y: frame.minY + 99.5), controlPoint1: CGPoint(x: frame.minX - 0.43, y: frame.minY + 86.43), controlPoint2: CGPoint(x: frame.minX + 6.72, y: frame.minY + 99.5)) 
    UIColor.gray.setFill() 
    bezier3Path.fill() 
    UIColor.gray.setStroke() 
    bezier3Path.lineWidth = 1 
    bezier3Path.lineCapStyle = .round 
    bezier3Path.lineJoinStyle = .round 
    bezier3Path.stroke() 
} 

Result

私はIllustratorで画像や、このフォームで他のいくつかのプログラムを作成し、背景としてそれを使用することをお勧めいたします。

関連する問題