Sobes.tech
Junior

Ի՞նչ է շերտը (layer) iOS զարգացման համատեքստում։

sobes.tech AI

Պատասխան AI-ից

CALayer շերտը՝ դա օբյեկտ է, որը կառավարում է UIView տեսողական բովանդակությունը։ Տեսարժանությունները օգտագործում են շերտեր իրենց բովանդակությունը պատկերվելու համար էկրանին։ Շերտերը չեն մշակում շոշափման իրադարձությունները, տարբեր կերպ՝ տեսարժանություններից։

Շերտերի հիմնական գործառույթները՝

  • բովանդակության ցուցադրում (նկարներ, տեքստ, գրաֆիկա)
  • գեոմետրիա կառավարում (պоложение, չափ, պտույտ)
  • արտաքին տեսքի կարգավորում (ֆոն, սահմաններ, ստվերներ, անկյունների գունդ)
  • անիմացիաների աջակցում (անուղղակի և ուղղակի)

CALayer հիմնական հատկությունները՝

  • contents: Any? - Շերտի բովանդակությունը, սովորաբար CGImage
  • frame: CGRect - Շերտի դիրքը և չափը նրա superlayer-ին հարաբերությամբ
  • bounds: CGRect - Շերտի դիրքը և չափը իր սեփական կոորդինատային համակարգում
  • position: CGPoint - Շերտի կենտրոնը նրա superlayer-ին հարաբերությամբ
  • anchorPoint: CGPoint - Շերտի կետը, շուրջը տեղի ունենան փոխակերպումներ, նորմալիզացված կոորդինատներով (0-ից 1)
  • backgroundColor: CGColor? - Շերտի ֆոնի գույնը
  • borderColor: CGColor? - Շերտի սահմանների գույնը
  • borderWidth: CGFloat - Սահմանների լայնությունը
  • cornerRadius: CGFloat - անկյունների գունդը
  • shadowColor: CGColor? - ստվերի գույնը
  • shadowOpacity: Float - ստվերի անփայլությունը (0-ից 1)
  • shadowOffset: CGSize - ստվերի տեղաշարժը
  • shadowRadius: CGFloat - ստվերի բծախնդրության ռադուսը
  • opacity: Float - շերտի անփայլությունը
  • isHidden: Bool - որոշում, թաքնված է շերտը թե ոչ
  • transform: CATransform3D - եռաչափ փոխակերպում շերտի

Շերտերի հիերարխիա՝

Շերտերը կազմում են հիերարխիա, որը նման է տեսողականների հիերարխիային։ Յուրաքանչյուր շերտ կարող է ունենալ superlayer և sublayers զանգված։

Օգտագործում՝

UIView-ները ունեն իրենց հիմնական շերտը (layer), որի միջոցով կարելի է մուտք գործել նրա տեսողական հատկություններին և կատարել անիմացիաներ։ Կարող եք ավելացնել լրացուցիչ շերտեր տեսողական ազդեցությունների համար։

Օրինակ՝ տեսողական շերտին մուտք գործելու համար՝

// Փոխել տեսողական շերտի ֆոնի գույնը
myView.layer.backgroundColor = UIColor.red.cgColor

// Ավելացնել ստվեր տեսողական շերտին
myView.layer.shadowColor = UIColor.black.cgColor
myView.layer.shadowOpacity = 0.5
myView.layer.shadowOffset = CGSize(width: 2, height: 2)
myView.layer.shadowRadius = 4