Skip to content

LAB-1 task completed - #1

Open
BoneFuusen wants to merge 8 commits into
developfrom
feature/LAB-1/layout
Open

BoneFuusen wants to merge 8 commits into
developfrom
feature/LAB-1/layout

Conversation

@BoneFuusen

Copy link
Copy Markdown
Owner

No description provided.

let names = ["Iron Man", "Spiderman", "Deadpool"]
let cellID = "cellID"

let cellWidth = (5/6) * UIScreen.main.bounds.width

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вынести константы - верное решение, однако стоило их вытащить в отдельный файл. Так получается более поддерживаемый код.

class ViewController: UIViewController, UICollectionViewDataSource {

let images = [UIImage(named: "ironman")?.withRoundedCorners(radius: 10), UIImage(named: "spiderman")?.withRoundedCorners(radius: 10), UIImage(named: "deadpool")?.withRoundedCorners(radius: 10)]
let names = ["Iron Man", "Spiderman", "Deadpool"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут лучше сделать модель героя, которая будет включать эти поля и использовать так. Чрезвычайно полезно разбивать код, служащий разным задачам. Сейчас выходит, что у тебя почти весь код в ViewContoller.

self.collectionView.widthAnchor.constraint(equalToConstant: cellWidth).isActive = true
}

func setupBackgroundUI() {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В этом методе используешь много магических чисел, так не стоит делать. В целом, эту view можно было вынести в отдельный класс, например, TriangleView

}

override func viewDidLoad() {
setupBackgroundUI()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Верстка сейчас сделана не адаптивно. Вот что будет, если запустить на iPad:
Simulator Screenshot - iPad (10th generation) - 2024-07-08 at 11 55 03

let gradient = CAGradientLayer()

gradient.frame = CGRect(x: 100, y: 425, width: 350, height: 800)
gradient.colors = [UIColor(red: 0.6, green: 0.0823, blue: 0.09412, alpha: 1.0).cgColor, UIColor(red: 0.580392, green: 0.078431, blue: 0.09803921, alpha: 1.0).cgColor]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Также цвет фона должен меняться в зависимости от контента. Стоило реализовать метод, определяющий средний цвет картинки и сеттить его в бэкграунд.

lazy var labelView : UILabel = {
let labelView = UILabel(frame: .init(x: UIScreen.main.bounds.width/5.5, y: 75, width: 360, height: 175))
labelView.text = "Choose your hero"
labelView.font = UIFont(name: "ArialRoundedMTBold", size: 30)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Шрифты лучше вынести

func setupLogoUI() {
self.view.addSubview(logoView)
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ScaleTransformView. didenddecelerating

transform

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants