Я новичок в рисовании вещей с помощью Swift, и недавно мне дали код, который должен делать то, что мне нужно (есть прямоугольный пол с 10 столами на нем). Этот код, кажется, отлично работает на игровой площадке (предварительный просмотр «глаза» с правой стороны показывает код, вызывающий изображение, которое я хочу), но когда я поместил его в ViewController под ViewDidLoad() и запустил приложение, ничего не появляется. Я не совсем уверен, что мне не хватает, поскольку я копирую и вставляю точный код в свой проект, и, похоже, он не работает. Я ничего не изменил в раскадровке и оставил ее как пустой контроллер представления. Любая помощь будет оценена. Вот код.
//: Playground - noun: a place where people can play
import UIKit
struct Table {
let x: Int
let y: Int
}
var tables = [
Table(x: 2, y: 3), Table(x: 4, y: 3), Table(x: 6, y: 3),
Table(x: 1, y: 5), Table(x: 3, y: 5), Table(x: 5, y: 5), Table(x: 7, y: 5),
Table(x: 2, y: 7), Table(x: 4, y: 7), Table(x: 6, y: 7)]
let cafeWidth = 8
let cafeHeight = 10
let cafeView = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 200))
cafeView.backgroundColor = UIColor(white: 0.9, alpha: 1.0)
func viewForCoordinate(#x: Int, #y: Int, #size: CGSize) -> UIView {
let centerX = Int(cafeView.frame.size.width / CGFloat(cafeWidth)) * x
let centerY = Int(cafeView.frame.size.height / CGFloat(cafeHeight)) * y
let view = UIView(frame: CGRect(x: 0, y: 0, width: size.width, height: size.height))
view.center = CGPoint(x: centerX, y: centerY)
return view
}
// draw the grid
for row in 1..<cafeHeight {
for column in 1..<cafeWidth {
let gridDot = viewForCoordinate(x: row, y: column, size: CGSize(width: 1, height: 1))
gridDot.backgroundColor = UIColor.blackColor()
cafeView.addSubview(gridDot)
}
}
// draw the seats
for table in tables {
let tableView = viewForCoordinate(x: table.x, y: table.y, size: CGSize(width: 20, height: 20))
tableView.layer.cornerRadius = 8
tableView.backgroundColor = UIColor(hue: 100/360.0, saturation: 0.44, brightness: 0.33, alpha: 1)
cafeView.addSubview(tableView)
}