2017-07-03 4 views
0

Ich habe eine App, die eine auf einen Blick enthält, so dass ich nicht die Elemente in einem UITableView oder UICollectionView scrollen möchten. Auf dem iPhone (Compact/Regular) möchte ich, dass jedes Element auf den Bildschirm des Telefons skaliert wird. Auf dem iPad (naja, Regular/Regular) möchte ich die Dinge anders darstellen.UICollectionView - skalieren Zellen auf den Bildschirm

Hinweis: Diese Frage betrifft nur das Telefon; Ich erwähne das iPad, weil ich nicht denke, UITableView ist der Weg zu gehen.

Hier ist ein Mock-up von dem, was ich meine: iPhones and iPad mockups

ich die Diamanten Artikel und das Etikett daneben will in einem UIStackView und habe diese Arbeit mit einem UICollectionView, aber jetzt hätte es so machen, Alle Gegenstände passen auf den Bildschirm. Hilfe?

Antwort

1

können Sie diese Kollektion Flow Layout Delegatmethode verwenden diese

func collectionView(_ collectionView: UICollectionView, 
        layout collectionViewLayout: UICollectionViewLayout, 
        sizeForItemAt indexPath: IndexPath) -> CGSize { 
    if UIDevice.current.userInterfaceIdiom == .pad{ 
    // here return cell size for iPad. 
    return CGSize(width:collectionView.bounds.width/2 , height:100) 
    }else{ 
     // here return cell size for iPhone 
     return CGSize(width:collectionView.bounds.width, height:100) 
    } 
} 
acheive
Verwandte Themen