添付の図のように、UITextView に特別な影付きの境界線を付けたいと思います。
背景画像を見つけずにxcode 4.4でそれを達成するにはどうすればよいですか?
添付の図のように、UITextView に特別な影付きの境界線を付けたいと思います。
背景画像を見つけずにxcode 4.4でそれを達成するにはどうすればよいですか?
これがカスタム描画(つまり、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>
外観を実現するために私が行ったことは次のとおりです。
コンテナー ビューを作成します。たとえば、幅 m、高さ n とします。サブビューをクリップするように設定し、その CALayer に角の半径を与えます
長方形のビューを使用してテキスト ボックスを作成し、角の半径を設定し、origin.y をいくつかの小さな数値 (たとえば 8) にします。高さを調整して、オフセットが 2 倍になるようにします。
CAGradient レイヤーを使用する UIView サブクラスを作成し、グラデーションが上から始まり、y が増加するにつれて明るくなる線形グラデーションを使用するようにします。
上記のように、グラデーションが下から始まり上に移動する別のグラデーション ビュー (白いもの) を作成するか、単に白一色のビューを使用するだけです。
最初のグラデーション ビューをコンテナ ビューに追加し、次に 2 番目、次にテキスト ボックスに追加します。
2 番目のグラデーション ビューは、その下のビューをブロックしないように透明な色にフェードする必要があります (2 つの「効果」ビューの順序をいじることができます。