私の質問は簡単なものです。アンドロイドでは、レイアウトからXMLスタイルシートを分けることができるので、どこでも再利用でき、UIデザイン変更のために簡単に編集できます。iOSアプリの効果的なUIスタイリング
iOS xcodeでも可能ですか?どうすればいいですか(コントローラーではない場合は好きですか?)ライブラリが必要ですか?そのための良い図書館は何ですか?
ありがとうございました。
私の質問は簡単なものです。アンドロイドでは、レイアウトからXMLスタイルシートを分けることができるので、どこでも再利用でき、UIデザイン変更のために簡単に編集できます。iOSアプリの効果的なUIスタイリング
iOS xcodeでも可能ですか?どうすればいいですか(コントローラーではない場合は好きですか?)ライブラリが必要ですか?そのための良い図書館は何ですか?
ありがとうございました。
あなたはUICategoryその目的のためのUIViewのクラスを使用することができます。 borders
、border colors
、bazier-paths
、corner
radius
など多くの異なるメソッドを作成します。これはほんのわずかです。カテゴリはUIViewのものなので、buttons
、lables
、textview
、textedits
などで使用できます。
のUIView + category.h
@interface UIView (category)
-(void)makeToRoundEdgeWithBorder:(CGFloat)borderwidth bordecolor:(UIColor *)color;
@end
のUIView + category.m
@implementation UIView (category)
-(void)makeToRoundEdgeWithBorder:(CGFloat)borderwidth bordecolor:(UIColor *)color
{
NSLog(@"height %f width %f",CGRectGetHeight(self.frame),CGRectGetWidth(self.frame));
self.layer.cornerRadius=CGRectGetHeight(self.frame)/2;
self.layer.masksToBounds=YES;
self.layer.borderColor=[color CGColor];
self.layer.borderWidth=borderwidth;
}
@end
は、それが
[yourlable makeToRoundEdgeWithBorder:0.0f bordercolor:[UIColor clearColor] cornerRadius:8.0f];
[yourbutton makeToRoundEdgeWithBorder:0.0f bordercolor:[UIColor clearColor] cornerRadius:8.0f];
[yourTextview makeToRoundEdgeWithBorder:0.0f bordercolor:[UIColor clearColor] cornerRadius:8.0f];
[yourTextfield makeToRoundEdgeWithBorder:0.0f bordercolor:[UIColor clearColor] cornerRadius:8.0f];
これはスウィフトではありません。答えが受け入れられているので、OPが何を求めているのかわからない場合は、おそらくスウィフト拡張の例を提供してください。 – Wez
はい@Wezly。 – KDeogharkar
特に初心者のプログラマにとって混乱を避けるため、カテゴリはクラスではありません。実際、UICategoryというものはありません。カテゴリは単なる既存のクラスに新しい機能を追加する方法です。 – pajevic
ありがとう!好奇心からそれをクリックしました。 Readmeファイルの最初の行に '注意:Classyはもはや積極的に管理されていません。参照:寄稿者を探しています'と書かれています。 – Alex
私が言ったように、それは積極的に維持されています。私は事実を知っています:) https://github.com/ClassyKit/Classy/issues/108 – tmpz
最後に引き出されたリクエストは2015年12月22日に[mikeger](https://github.com/)によってマージされました。マイケル)私が言及した会社で働く。フレームワークではない企業はすぐに消えることはありません。私はそれを使用してあなたに興味がないが、私はそれが品質であることを保証することができます。 – tmpz
あなたはまた、使用しているはずですUIAppearanceに入力します。これは、スタイリングを一度しか設定しないほとんどのUI要素で使用できるデザインプロキシです。
enumを使用して独自のスタイルを作成できます。
enum Styles {
enum Labels {
case Standard
case LargeText
func style(label: UILabel) {
switch self {
case .Standard:
label.font = UIFont.systemFontOfSize(12)
case .LargeText:
label.font = UIFont.systemFontOfSize(18)
}
}
}
enum Buttons {
case RedButton
func style(button: UIButton) {
switch self {
case .RedButton:
button.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
}
}
}
}
その後、あなたはこのようにそれを使用することができます:
Styles.Labels.Standard.style(yourLabel)
あなたはまた、あなたが設定しているスタイルのための拡張を行うことができます。
スタイル内の列挙型を置くことによって、あなたが素敵なグループを取得するENUMextension UILabel {
func style(style: Styles.Labels) {
style.style(self)
}
}
extension UIButton {
func style(style: Styles.Buttons) {
style.style(self)
}
}
そして、このように拡張機能を使用:
yourLabel.style(.Standard)
yourButton.style(.RedButton)
UIコンポーネントのサブクラス化? – zcui93
あなたはその目的のためにカテゴリクラスを使うことができます。 – KDeogharkar