Возможно ли передавать данные между UIViewController и UIView? если да, как?Возможно ли передавать данные между UIViewController и UIView с помощью swift?
Например, когда вы нажимаете кнопку1, UIViewController говорит UIView, что человек нажал кнопку1, а затем UIView рисует треугольник. Но если вы затем нажмете кнопку 2, UIViewController сообщит UIView, что теперь он нажал кнопку2, а затем UIView устраняет треугольник и рисует круг.
Кнопки программируются программно.
Вопрос в том, как я могу вызвать фигуры, которые я нарисовал с помощью drawRect в UIView в UIViewController.
class ViewController: UIViewController {
@IBOutlet var UnitViewTabeller: UnitView!
var btn: UIButton!
override viewDidLoad {
self.btn = UIButton(frame: CGRectMake(0.04 * view.bounds.width, 0.91 * view.bounds.height, 0.44 * view.bounds.width, 0.07 * view.bounds.height)) //set frame
self.btn.layer.cornerRadius = 10
self.btn.setTitle("0", forState: .Normal) //set button title
self.btn.setTitleColor(UIColor.whiteColor(), forState: .Normal) //set button title color
self.btn.backgroundColor = UIColor(red: 0.2745, green: 0.2784, blue: 0.2706, alpha: 1.0) //set button background color
self.btn.tag = 0 // set button tag
self.btn.addTarget(self, action: "btnclicked:", forControlEvents: .TouchUpInside) //add button action
self.view.addSubview(btn) //add button in view
self.btnArray.append(btw)
}
func btnclicked(sender: UIButton) {
//draw the circle from the UIView
}
}
class UnitView: UIView {
override func drawRect(rect: CGRect) {
let cirkel = UIGraphicsGetCurrentContext()
let rectangle = CGRect(x: 0.2 * bounds.width, y: 0.15 * bounds.height, width: 0.6 * bounds.width, height: 0.6 * bounds.width)
CGContextSetLineWidth(cirkel, 4.0)
CGContextAddEllipseInRect(cirkel, rectangle)
CGContextStrokePath(cirkel)
}
}
да, возможно. – luk2302
", а затем' UIView' нарисуйте треугольник "... Если вы хотите, вы можете нарисовать материал UIView', но использование' CAShapeLayer' - это более простой способ включить фигуры в представление. – Rob
Причина моего голосования. Пожалуйста, изучите аббревиатуру MVC. Model-View-Controller. Может потребоваться всего лишь мгновение, чтобы закрепить это в Google, но после часа исследований о доходах? Вы дадите себе НЕСКОЛЬКО шагов в своей карьере. (Я говорю это с полным уважением к тому, что вы уже знаете, но также признавая то, что вам пока еще не удавалось. Удачи!) Если вы понимаете MVC, вы должны уже знать не только о том, что «передача данных» между контроллером и взгляд - это то, о чем идет речь, но также и то, что некоторые вещи - это то, о чем речь не идет. – dfd