0

添付の図のように、UITextView に特別な影付きの境界線を付けたいと思います。

ここに画像の説明を入力

背景画像を見つけずにxcode 4.4でそれを達成するにはどうすればよいですか?

4

2 に答える 2

0

これがカスタム描画(つまり、Quartz / Core Graphics)でのみ可能かどうかはわかりません。どういうわけか、私はまだ事前にレンダリングされた画像を使用します。そのためにこの投稿をチェックしてください。

しかし、これはおそらく望ましい効果に近いものになります。

    [yourTextView.layer setBackgroundColor: [[UIColor whiteColor] CGColor]];
    [yourTextView.layer setBorderColor: [[UIColor grayColor] CGColor]];
    [yourTextView.layer setBorderWidth: 1.0];
    [yourTextView.layer setCornerRadius: 8.0f];
    [yourTextView.layer setMasksToBounds: YES];

インポートすることを忘れないでください:

#import <QuartzCore/QuartzCore.h>
于 2012-12-04T15:35:51.697 に答える
0

外観を実現するために私が行ったことは次のとおりです。

  • コンテナー ビューを作成します。たとえば、幅 m、高さ n とします。サブビューをクリップするように設定し、その CALayer に角の半径を与えます

  • 長方形のビューを使用してテキスト ボックスを作成し、角の半径を設定し、origin.y をいくつかの小さな数値 (たとえば 8) にします。高さを調整して、オフセットが 2 倍になるようにします。

  • CAGradient レイヤーを使用する UIView サブクラスを作成し、グラデーションが上から始まり、y が増加するにつれて明るくなる線形グラデーションを使用するようにします。

  • 上記のように、グラデーションが下から始まり上に移動する別のグラデーション ビュー (白いもの) を作成するか、単に白一色のビューを使用するだけです。

  • 最初のグラデーション ビューをコンテナ ビューに追加し、次に 2 番目、次にテキスト ボックスに追加します。

2 番目のグラデーション ビューは、その下のビューをブロックしないように透明な色にフェードする必要があります (2 つの「効果」ビューの順序をいじることができます。

于 2012-12-04T15:47:41.820 に答える