2016-07-26 8 views
1

のUITableViewに画像を追加:私は、視差を追加するためにUIScrollViewの拡張を記述しようとしていますスウィフト - UIScrollViewのEXTENSION-は、私はストーリーボードを使用する場合、私はこのようのUITableViewするUIImageViewを追加することができます

enter image description here

すべてのテーブルに対して簡単に再利用できるUITableViewに変換します。ここに私のコードでは、画像を追加します。

extension UIScrollView { 

    func addParallaxImage(image image: UIImage, height: CGFloat) { 
    let myImageView: UIImageView = UIImageView() 
    myImageView.image = image 
    myImageView.contentMode = UIViewContentMode.ScaleAspectFill 

    myImageView.frame.size.width = UIScreen.mainScreen().bounds.size.width 
    myImageView.frame.size.height = height 
    myImageView.frame.origin.y = 0 

    self.addSubview(myImageView) 

    } 

} 

機能の使用:

tableView.addParallaxImage(image: UIImage(named: "pets")!, height: 100) 

はしかし、私のイメージでは、テーブルと重なります。

enter image description here

任意のソリューション?

+0

http://stackoverflow.com/a/30885150/5100253こちらはお役に立ちますか? –

+0

@ ConstantinKryzhanovskyありがとうございました!私は前にそれを読んだが、何も見つからなかった。私はそれらを再び読むでしょう。 =)) –

答えて

1

あなたのケースのための最善の解決策は、テーブルビューのヘッダーとここで最も使用可能なLIBSに使用されていますlibsはSwiftをサポートします、私はあなたを助けることを願っています。

+0

ありがとう!私に確認させてください!私は良くないObjective-Cを追加するので、コードを理解する時間が必要です。加えて、私は自分自身のlibを書いて、他人のものを実装したくない。 –

+0

ありがとう、完璧に進んでください。 –

+0

@AnLêあなたに役立つ答えを受け入れてください。 –

0

セルを再利用したい場合。 ImageViewをtableViewCellに追加することができます。 ところで、ヘッダーとフッターも再利用できます。

+0

申し訳ありませんが、私はセルを再利用したくありません。私は今、再使用セルを使用しています。しかし、私はそれを改善したい。 –

+0

tableViewのcontentInsetを作成してください。 'tableView.contentInset = UIEdgeInsetsMake(上、左、下、右)' –

+0

イメージをテーブルの背後に置くには、まずImageViewをスーパービューに追加する必要があります。 –

0

addSubviewの代わりにinsertSubview(_View:UIView、atIndex index:Int) インデックス0を使用してみてください。これはあなたのセルの上にありません。すべてではないように注意してください

CSStickyHeaderFlowLayout

ParallaxTableViewHeader

VGParallaxHeader

APParallaxHeader

- :

+0

それは私のイメージをテーブルの下に置くだけです。それはあなたが画像を見ることができることを意味し、テーブルがそれを覆うことになる。 : –

+0

もしそれらが重なり合わないようにするには、tableViewヘッダに画像を置く必要がありますので、スクロールビューの拡張子として使用することはできません。 – johnyu

+0

上記のように、ストーリーボードのようなものが必要です。 3 –

関連する問題