2017-01-24 15 views
1

を持っているかどうかを確認する方法を、私はこのコードを使用して最初のセルを取得することができます。スウィフトUIテストは、セルがUIテストでImageViewの

let app = XCUIApplication() 

app.launch() 

let tablesQuery = app.tables 

let cell = tablesQuery.children(matching:.any).element(boundBy: 0) 

そのセルがImageViewのが含まれているかどうかを確認する方法は? ImageViewのは、それはおそらくある、深いレベル以上であれば

答えて

3
public func hasImageViewInside(_ cell: UITableViewCell) -> Bool { 
    for child in cell.subviews { 
     if let _ = child as? UIImageView { 
      return true 
     } 
    } 
    return false 
} 
+0

は動作しません、それは正しくcell.contentView' 'に追加された提供。 – Connor

+0

@ConnorNevilleあなたは正しいですが、再帰的にすることは難しくありません。アイデアは同じです。 – sdasdadas

+0

あなたはUIテストの質問で照会するときにこれにアクセスできませんか? – Thermometer

2
 for viw in cell.contentView.subviews { 
     if ((viw as? UIImageView) != nil) { 
      print("123") 
     } 
    } 
1
for case let imageView as UIImageView in cell.contentView.subviews { 
     if imageView.tag == 1001 { 
     imageView.image = UIImage(named: "myCustomImage") 
     } 
    } 

    //OR Altervnatively 


    cell.contentView.subviews.flatMap { $0 as? UIImageView }.forEach { imageView in 
     if imageView.tag == 1001 { 
     imageView.image = UIImage(named: "myCustomImage") 
     } 
    } 
関連する問題