swift에서 패키지 사용
사용자 정의view 코드:
import UIKit
//typealias IndexBlock = (index:NSInteger)->Void
class CustomView: UIView {
var IndexBlock:((index:NSInteger)->()) = {_ in }
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect) {
// Drawing code
}
*/
// var callBack:IndexBlock!
var button1:UIButton?
var button2:UIButton?
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupUI() {
self.button1 = UIButton.init(type: .Custom)
self.button1?.backgroundColor = UIColor.redColor()
self.button1?.frame = CGRectMake(0, 65, 60, 30)
self.button1?.tag = 1
self.button1?.addTarget(self, action: #selector(buttonClick), forControlEvents: .TouchUpInside)
self.addSubview(self.button1!)
self.button2 = UIButton.init(type: .Custom)
self.button2?.backgroundColor = UIColor.blueColor()
self.button2?.frame = CGRectMake(0, 100, 60, 30)
self.button2?.tag = 2
self.button2?.addTarget(self, action: #selector(buttonClick), forControlEvents: .TouchUpInside)
self.addSubview(self.button2!)
}
func buttonClick(sender:UIButton){
// self.callBack!(index: sender.tag)
self.IndexBlock(index: sender.tag)
}
}
viewcontroller의 코드:
import UIKit
class ViewController: UIViewController {
var cv:CustomView?
var label:UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
configViews()
}
func configViews() {
self.title = " "
self.view.backgroundColor = UIColor.whiteColor()
setupData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension ViewController {
func setupData(){
self.cv = CustomView.init(frame: CGRectMake(10, 10, 300, 300))
self.cv!.backgroundColor = UIColor.yellowColor()
self.view.addSubview(self.cv!)
self.label = UILabel.init(frame: CGRectMake(10, 360, 200, 30))
self.label.backgroundColor = UIColor.redColor()
self.view.addSubview(self.label)
/*
self.cv?.callBack = {(index:NSInteger)->() in
self.label.text = String(index)
}
*/
self.cv?.IndexBlock = {(index:NSInteger)->() in
self.label.text = String(index)
}
}
}
코드에서 클립은 두 가지 문법을 사용했는데 하나는 일반적인 문법이고 하나는 사용했다
typealias
. 그러나 나는 그 중의 한 가지 문법을 주석해 버렸다. 두 가지 실현 효과는 똑같기 때문에 자신의 습관에 따라 어떤 문법을 선택할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.