2016-05-24 15 views
3

私はEurekaフレームワークを使用しています。最近、エッジ間セルセパレータを使用できるようにコードを追加しました。これにより、すべてのフォーム要素に余白が定義されている必要があります。そうでない場合は、画面の左端から開始します。カスタムクラスを作成せずにユーレカのセクションヘッダー/フッターの余白を設定する方法

セクションヘッダー/フッターの左右余白をセルと同様に調整する方法はありますか?私はすべてのセクション/ヘッダータイトルのカスタムクラスの使用を避けようとしています。

ビューがどのように作成されたかを見るためにソースコードを見てみましたが、x座標や左右の余白などを定義する場所は表示されません。私はこれを達成するために設定することができます。

ご協力いただければ幸いです!

  +++ Section(){section in 
       var footer = HeaderFooterView<UITableViewHeaderFooterView>(.Class) 
       footer.onSetupView = {view, _, _ in 
        view.preservesSuperviewLayoutMargins = false 
        view.layoutMargins.left = 50 
        view.layoutMargins.right = 50 
        view.contentView.preservesSuperviewLayoutMargins = false 
        view.contentView.layoutMargins.top = 10 
        view.contentView.layoutMargins.left = 50 
        view.textLabel?.text = "This is a test footer message." 
        view.textLabel?.layoutMargins.top = 10 
        view.textLabel?.font = UIFont.preferredFontForTextStyle("Footnote") 
       } 
       section.header = HeaderFooterView<ALogoView>(HeaderFooterProvider.Class) 
       section.footer = footer 
       } 

編集:私は上記を試しましたが、動作しません。長い文字列を入力すると、親セクションの行に移動します。

EDIT2:ときヘッダー/フッタークラス

+++ Section() { 
    $0.header = HeaderFooterView<GenericHeader>(HeaderFooterProvider.Class) 
    $0.footer = HeaderFooterView<GenericFooter>(HeaderFooterProvider.Class) 
} 

は、どのように私は、文字列に沿って渡すことができます:私は、私は私の形でこれを使用している以下の

class GenericHeader: UIView { 

override init(frame: CGRect) { 
    super.init(frame: frame) 
    self.preservesSuperviewLayoutMargins = false 
    let textView = UILabel() 
    textView.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width - 30, height: 20) 
    textView.text = "This is a very very very long title, This is a very very very long title, This is a very very very long title, This is a very very very long title, This is a very very very long title, This is a very very very long title Let's add some more stuff here to see how it handles." 
    textView.numberOfLines = 0 
    textView.textAlignment = .Justified 
    textView.font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody) 
    textView.textColor = UIColor(red:0.47, green:0.47, blue:0.49, alpha:1.0) 
    textView.frame = textView.bounds 
    textView.sizeToFit() 
    self.addSubview(textView) 
    //self.frame = CGRect(x: -15, y: -3, width: textView.bounds.width - 16, height: textView.bounds.height) 
    self.bounds = CGRect(x: -15, y: -3, width: textView.bounds.width - 16, height: textView.bounds.height) 
} 

required init?(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
} 
} 

を作ってみました私は異なるテキストで百万の異なるクラス/ビューを書く必要がないようにインスタンス化されていますか?私はこのnは、それぞれの行を実行して、テーブルビューセルmargingsを追加した

+0

こんにちは、それをやりました働いた?見た目のサンプル画像がありますか?それを評価する – VAAA

答えて

0

....

TextRow.defaultCellSetup = { cell, row in 
    cell.preservesSuperviewLayoutMargins = false 
    cell.layoutMargins.left = 0 
    cell.contentView.preservesSuperviewLayoutMargins = false 
    cell.contentView.layoutMargins.left = 50 
} 

ButtonRow.defaultCellSetup = { cell, row in 
    cell.preservesSuperviewLayoutMargins = false 
    cell.layoutMargins.left = 0 
    cell.indentationLevel = 5 
} 

もう少し説明して、この問題を調査が... https://github.com/xmartlabs/Eureka/issues/438

+0

こんにちは、お返事ありがとうございます。私は実際にgithubスレッドの作成者です。セクションヘッダーとフッターのdefaultCellSetupはありません。これらのUI要素をレンダリングする別の方法を使用します。 .onSetupViewはマージン設定を行わないように見えるので、githubに関する新しい問題を作成しました。 – Plastus

+0

セクションヘッダー/フッターに余白を追加するには、このreadmeセクションで説明したカスタムビューaszを実装する必要があります。https://github.com/xmartlabs/Eureka#section-header-and-footer – mtnBarreto

+0

上記のコードはセットアップすることです既定のテーブルビューヘッダーがニーズに合っている場合の行マージン。セクションヘッダーでさらにカスタマイズする必要がある場合は、カスタムビューを表示する必要があります。 – mtnBarreto

関連する問題