рдбрд╛рдпрдирд╛рдорд┐рдХ рдЯрд╛рдЗрдк рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдмрд┐рдирд╛ рдкрдВрдЬреАрдХрд░рдг рдФрд░ рдПрд╕рдПрдордПрд╕ рдХреЗ iOS 13 рдореЗрдВ рдЫреЛрдЯреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреИрд╕реЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдбреЛрдбреЛ рдкрд┐рдЬреНрдЬрд╛ рдЖрдИрдУрдПрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореЗрдиреВ рдкрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ рдкреНрд░рдХрд╛рд░ рдЦреАрдВрдЪрд╛ рдерд╛ред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛ред рд▓реЗрдХрд┐рди рдореЗрдиреВ рдХреЗ рдиреАрдЪреЗ рдХрд╛ рдЯреИрдмрдмрд╛рд░ рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рдерд╛ - рдпрд╣ рдкрд╛рда рдЖрдХрд╛рд░ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрджрд▓рддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА рддрдХ рд░рд┐рд▓реАрдЬрд╝ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╢рд░реНрдо рдЖ рд░рд╣реА рд╣реИ рдФрд░ рд╢рд░реНрдо рдЖ рд░рд╣реА рд╣реИ"рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рд╣реИ, рдбреЛрдбреЛ?" рдХреНрдпрд╛ рдЖрдкрдХреЛ рджреГрд╖реНрдЯрд┐рд╣реАрди рд▓реЛрдЧреЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ?
- рдХреНрд╖рдорд╛ рдХрд░реЗрдВ!
рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЛрдб "рдЖрд╡рд░реНрдзрдХ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛
рд╕рд┐рд╕реНрдЯрдо рдЯреИрдмрдмрд╛рд░ рд▓рдВрдмреЗ рдЯреИрдк рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдм рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рджрд┐рдЦрд╛рддрд╛ рд╣реИред "рдЙрдкрд▓рдмреНрдз" рдЯреЗрдХреНрд╕реНрдЯ рдЖрдХрд╛рд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рд╕рд┐рд╕реНрдЯрдо рдЯреИрдм рдореЗрдВ рдХрд┐рд╕реА рднреА рдЯреИрдм рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рджрдмрд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреАрдд рдпрд╛ рдлреЛрдЯреЛ рдореЗрдВ)ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреЙрдк-рдЕрдк рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
рдЯреИрдмреНрдмрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рдЖрд╡рд░реНрдзрдХ рдХрд╛рдВрдЪ" рдореЛрдб рдиреЗрдмрд░реНрд╕ рдФрд░ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ:
рдЦреЛрдЬ рдлрд╝реАрд▓реНрдб:
рдФрд░ рдХреБрдЫ рдФрд░ рдирд┐рдпрдВрддреНрд░рдгред
рдФрд░, iOS 13 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдХреЗ, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП UILargeContentViewerItem рдХреЛ рдХреИрд╕реЗ рдлрд╛рд╕реНрдЯ рдХрд░реЗрдВ
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдПрдкреАрдЖрдИ рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ:
@available(iOS 13.0, *) public protocol UILargeContentViewerItem : NSObjectProtocol { var showsLargeContentViewer: Bool { get } var largeContentTitle: String? { get } var largeContentImage: UIImage? { get } var scalesLargeContentImage: Bool { get } var largeContentImageInsets: UIEdgeInsets { get } }
рдпрд╣ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдирд╛рдо рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд▓рдВрдмреЗ рдЯреИрдк рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рджрд┐рдЦрд╛рдПрдЧрд╛ред
рдмрд╣реБрдд рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЖрдЗрдП рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреБрдЫ рдмрдЯрди рдкрд░ рдЖрдЬрд╝рдорд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрддреНрдкрд╛рдж рдХрд╛рд░реНрдб рдореЗрдВ
i
рдмрдЯрди рдкрд░:
рдХреЛрдб рдХреА 3 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
nutritionButton.showsLargeContentViewer = true nutritionButton.addInteraction(UILargeContentViewerInteraction()) nutritionButton.largeContentTitle = nutritionButton.accessibilityValue
рд╣реЛ рдЧрдпрд╛ред рдХреВрд▓, рд╣рд╣?
рдХреЗрд╡рд▓ рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╛рди рдЖрдЗрдХрди рд╣реИ, рдЬрд┐рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рджреЛ-рд░рдВрдЧ рдХрд╛ рди рд╣реЛ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╖рд░
i
рдХреЗ рдХрдЯ рдЖрдЙрдЯ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ-рд░рдВрдЧред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ .highlighted рдмрдЯрди рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
nutritionButton.largeContentImage = nutritionButton.image(for: .highlighted)
рдорд╛рдирдХред
рдФрд░ рдЕрдм рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ:
extension UIView { public func enableLargeContent(title: String? = nil, image: UIImage? = nil, scales: Bool = true, insets: UIEdgeInsets = .zero) { guard !showsLargeContentViewer else { return } showsLargeContentViewer = true addInteraction(UILargeContentViewerInteraction()) largeContentTitle = title largeContentImage = image scalesLargeContentImage = scales largeContentImageInsets = insets } }
nutritionButton.enableLargeContent(title: nutritionButton.accessibilityValue, image: nutritionButton.image(for: .highlighted))
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдИ рдорд╛рдирдХ рдЖрдИрдУрдПрд╕ рдирд┐рдпрдВрддреНрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдореЛрдб рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЖрд╡рд░реНрдзрдХ рдХрд╛рдВрдЪ рдХреЗ рдкреАрдЫреЗ рд╕рдм рдХреБрдЫ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ rephrase: рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдмрдврд╝рд╛ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк UILargeContentViewerItem
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЦреЛрд▓рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ Xcode рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
GitHub рдкрд░ рдореЗрд░реЗ
рд░реЗрдкреЛ рдореЗрдВ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ