Создайте линии сетки и разрешите пользователю отображение линии сетки вкл / выкл

Я хотел бы создать подход линии сетки в своем приложении и позволить пользователю включать / выключать вид сетки. Ему не нужно иметь какое-либо сенсорное обнаружение или связанную с ним логику. Просто линии сетки, чтобы пользователь мог видеть и включать / выключать их. Очевидным решением для этого было бы добавление изображения сетки в мое представление и отображение его при необходимости с помощью изображения. Но это вариант, который я не могу принять. Я должен делать это программно. Спасибо за ваше время. Изображение того, что я планирую реализовать. Есть идеи ? Ядро графики или много uiviews?

Подкласс UIView и создать отдельные 2 петли. Один для вертикальных линий и один для горизонтальных линий. В цикле вертикальных линий создайте ширину 1px UIView и высоту 768 пикселей. В горизонтальном, создайте их высотой 1px и шириной 1024px.

Чтобы скрыть и показать его, просто переключите скрытое свойство подкласса, либо YES, либо NO.

Вы также можете обойтись без подкласса, просто используйте стандартный UIView.

Закончилось:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sample.png"]]; 

Я использовал это для Swift3

 class GridView: UIView { var numberOfColumns: Int = 2 var numberOfRows: Int = 2 var lineWidth: CGFloat = 1.0 var lineColor: UIColor = UIColor.white override func draw(_ rect: CGRect) { if let context = UIGraphicsGetCurrentContext() { context.setLineWidth(lineWidth) context.setStrokeColor(UIColor.white.cgColor) let columnWidth = Int(rect.width) / (numberOfColumns + 1) for i in 1...numberOfColumns { var startPoint = CGPoint.zero var endPoint = CGPoint.zero startPoint.x = CGFloat(columnWidth * i) startPoint.y = 0.0 endPoint.x = startPoint.x endPoint.y = frame.size.height context.move(to: CGPoint(x: startPoint.x, y: startPoint.y)) context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) context.strokePath() } let rowHeight = Int(rect.height) / (numberOfRows + 1) for j in 1...numberOfRows { var startPoint = CGPoint.zero var endPoint = CGPoint.zero startPoint.x = 0.0 startPoint.y = CGFloat(rowHeight * j) endPoint.x = frame.size.width endPoint.y = startPoint.y context.move(to: CGPoint(x: startPoint.x, y: startPoint.y)) context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) context.strokePath() } } } } 

И установите его цвет фона как clear .

Код также присутствует здесь.

  • Как изменить размер UIView поверх UIScrollView?
  • Как удалить SubView со слайдом в iOS?
  • Зачем мне нужен прямой доступ к контейнеру представления, а не доступ к его представлению диспетчера представлений, чтобы анимировать?
  • Как преобразовать строку во время события жесты?
  • Общий предок между двумя видами
  • Запустите UIView с разницей в 1 пиксель строки состояния
  • Невозможно изменить высоту UIView, загруженного из ниба
  • переместить uipickerview
  • UIView tableview сглаживание ячейки с момента xcode 6.3 /ios8.3
  • Динамическая высота UIView в зависимости от высоты надписи
  • ios Как удалить определенный UIView, который выполнен на заказ
  • Interesting Posts

    Удаление NSManagedObjectContext

    «Не удается найти модель для исходного хранилища», используя базовую миграцию Core Data и UIManagedDocument

    отношения coredata автоматически устанавливаются на nil

    Повторяет ли MIME-тип, необходимый для загрузки в Google Drive API?

    Нужно ли писать все дочерние объекты в классе в области?

    Firebase App Search Feature – Query with String Regex

    CLLocationManager не возвращает метод в делегате

    UIBlurEffect, как неспособный рендеринг в реальном времени

    MDLMaterial неправильно отображает относительное изображение текстуры

    Кордова: iOS: console.log не записывает ничего в Xcode

    Проблемы с initWithTimeInterval

    Как получить полезную нагрузку push-уведомления, когда принудительно завершите / проведите пальцем по экрану, чтобы убить приложение iOS, не нажав на баннер / предупреждение?

    iOS – Разбор ошибок Ускорение структуры

    Пользовательская клавиатура для iOS в Objective-C

    Два события управления на одном UIButton

    Давайте будем гением компьютера.