UIPopoverController
рдпрд╛ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ (рдЗрд╕рдХреЗ рдмрд╛рдж рдмрд╕ "рдкреЙрдкрдУрд╡рд░") рддрддреНрд╡ рдирдП рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред Habr├й рдкрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ
рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд▓реЗрдЦ рд╣реИ рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдХрдИ рд╕рдВрджрд░реНрдн рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдкреЙрдкрдУрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ "рдХреЗ рд░реВрдк рдореЗрдВ" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕ рддрддреНрд╡ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдПрдХ рд▓реЗрдЦ рдХреЗрд╡рд▓ Apple рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдпрд╛ рдкреБрдирд░реНрдкреНрд░рдХрд╛рд╢рди рдирд╣реАрдВ рд╣реИред рдореИрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЦреБрдж рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ (рд╢рдмреНрдж рдХреЗ рдЕрдЪреНрдЫреЗ рдЕрд░реНрде рдореЗрдВ), рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛, рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ рд╕рдм рдПрдХ рдареЛрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡реА рдХрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЖрд╡реЗрджрди iPhone рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ "рдкреВрд░рд╛", рдЕрд░реНрдерд╛рддреН,
UINavigationBar
рдХреНрд▓рд╛рд╕ рдХреА
appearance
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
[[UINavigationBar appearance] setTintColor: [UIColor colorWithRed:0.481 green:0.065 blue:0.081 alpha:1.000]]; [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar"] forBarMetrics:UIBarMetricsDefault];
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛:
рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдореМрдЬреВрджрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ iPad рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдЙрдиреНрд╣реЗрдВ
UINavigationController
рдЕрдВрджрд░
UINavigationController
рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рдпрджрд┐ рдЖрдк рдкреЙрдкрдУрд╡рд░ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
UINavigationBar
рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
[[UINavigationBar appearanceWhenContainedIn:[UIPopoverController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; [[UINavigationBar appearanceWhenContainedIn:[UIPopoverController class], nil] setTintColor:[UIColor clearColor]];
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдШрд╛рддрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди, рдХрд╣рддреЗ рд╣реИрдВ, рдЧреНрд░рд╛рд╣рдХ (рдФрд░ рд╡рд╣ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реИ) рдиреЗ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ рдФрд░ "рдкреЙрдкрдУрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рдХрд░реЗрдЧрд╛!" рдпрд╣ рд╡рд╣
popoverBackgroundViewClass
рд╣реИ
popoverBackgroundViewClass
рд╡рд░реНрдЧ
popoverBackgroundViewClass
рд╕рдВрдкрддреНрддрд┐
UIPopoverController
ред рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп
UIPopoverBackgroundView
рд╡рд░реНрдЧ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ
UIPopoverBackgroundView
, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдмрд╛рджред
рдПрдХ UIPopoverBackgroundView
рдкреНрд░рд▓реЗрдЦрди, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рдХреНрдпреЛрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рджреА рдЧрдИ рд╣реИрдВ - рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рддреАрд░ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдФрд░
UIImageView
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣ рд╕рдм "рд╢рдмреНрджреЛрдВ рдореЗрдВ" рд╣реИ, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкрд╛рда рдХреЛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрднрд╡ рдХрд░рддрд╛ рд╣реВрдВ рдпрджрд┐ рдЪрд┐рддреНрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд▓рдЧреНрди рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕ "рдЕрдВрддрд░" рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ, рд╣рдо
UIPopoverBackgroundView
рдХреЗ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрд╡рд░реНрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ рдХреЗрд╡рд▓ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЕрдм рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВред
#import <UIKit/UIPopoverBackgroundView.h> @interface MBPopoverBackgroundView : UIPopoverBackgroundView @end
рдПрдХ UIPopoverController
рд╢рд░реАрд░ рд░рдЪрдирд╛ UIPopoverController

UIPopoverController
рдореЗрдВ рдПрдХ рдПрд░реЛ (рдПрд░реЛ), рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб (рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб), рдХрдВрдЯреЗрдВрдЯ рдпрд╛ рдХрдВрдЯреЗрдВрдЯ (рдХрдВрдЯреЗрдВрдЯ рд╡реНрдпреВ), рдФрд░ рдпреВрдЖрдИрд╡рд╛рдИрдпреВрд╡рд╛рдИ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рд╛рд░рд╛ рд╕рд╛рдорд╛рди рд╕рдорд╛рд╣рд┐рдд рдФрд░ рд░реЗрдВрдбрд░ рд╣реЛрддрд╛ рд╣реИред
рддреАрд░

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ "рддреАрд░" рдПрдХ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЖрд▓рдВрдХрд╛рд░рд┐рдХ рд╢рдмреНрдж рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдЕрдкрдиреА рдХрд▓реНрдкрдирд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВ, рддреАрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдзрд░рд╛рд╢рд╛рдпреА рд░реЗрдЦрд╛, рдПрдХ рд╡рдХреНрд░, рдПрдХ рдордирдорд╛рдирд╛ рдЪрд┐рддреНрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдУрд╡рд░рд░рд╛рдЗрдб
draw
рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рд░реНрдл
UIView
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
gl***
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдбреНрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдПрдирд┐рдореЗрдЯреЗрдб
UIImageView
рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬрд╝ рддреАрд░ рдХреЗ рдЖрдзрд╛рд░ (
arrowBase
) рдХреА рдЪреМрдбрд╝рд╛рдИ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдКрдВрдЪрд╛рдИ (
arrowHeight
) рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рдХреБрдЫ рд╣рдж рддрдХ рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред
рдЕрднреА рдХреЗ рд▓рд┐рдП,
UIImageView
Apple рдХреА рд╕рд▓рд╛рд╣ рдХреЗ рдмрд╛рдж, рддреАрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ
UIImageView
рд▓рд┐рдП рдПрдХ
UIImageView
рдЪреБрдиреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрдЧ
+(CGFloat)arrowBase
рдФрд░
+(CGFloat)arrowHeight
рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдзреНрдпрд╛рди
+(CGFloat)arrowHeight
ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡реЗ рджреЛрдиреЛрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдЙрдкрд╡рд░реНрдЧ рдореЗрдВ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрд░ рдХреА рдЫрд╡рд┐ рд╣реИ рдФрд░ рдЗрд╕реЗ "popover-arrow.ng" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдХреЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
@interface MBPopoverBackgroundView ()
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рддреАрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдореЗрдВ рджреЛ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкрдЫрд╛рдбрд╝рдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
@property (nonatomic, readwrite) UIPopoverArrowDirection arrowDirection; @property (nonatomic, readwrite) CGFloat arrowOffset;
рдЕрдиреНрдпрдерд╛, рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд░ рдпрд╛ рдЧреЗрдЯреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реА рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдВрдЧреЗред
рддреАрд░ рдХреА рджрд┐рд╢рд╛ (
arrowDirection
) рд╣рдореЗрдВ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рддреАрд░ рдХрд╣рд╛рдБ (рдКрдкрд░, рдиреАрдЪреЗ, рдмрд╛рдПрдБ, рджрд╛рдПрдБ) рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИред рдПрд░реЛ рдСрдлрд╕реЗрдЯ (
arrowOffset
) рд╣рдорд╛рд░реЗ рджреГрд╢реНрдп рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рддреАрд░ рдХреА рдХреЗрдВрджреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рд░реЗрдЦрд╛ рддрдХ рдХреА рджреВрд░реА рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЪрд┐рддреНрд░рдг рдХреЛ рджреЗрдЦреЗрдВ, рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдСрдлрд╕реЗрдЯ рдиреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВред рдСрдлрд╕реЗрдЯ рдФрд░ рдмрд╛рдИрдВ рдУрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рд╣реИред

рдкреНрд░рд▓реЗрдЦрди рдЗрди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд░ рдФрд░ рдЧреЗрдЯреНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЖрдк рдЗрди рдЧреБрдгреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рдХреЛ рд╕рдВрд╢реНрд▓реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
@interface MBPopoverBackgroundView ()
рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдЧреБрдг рдХреЛ рдмрджрд▓рдирд╛ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рддреАрд░ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЕрд╡рд▓реЛрдХрди рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЬреИрд╕реЗ рд╣реА рд╕рдВрдкрддреНрддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ - рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ
MBPopoverBackgroundView
рдХреЛ
MBPopoverBackgroundView
рдХрд┐ рдпрд╣ рд╕рдордп рд╣реИ рдХрд┐ рдмрдЪреНрдЪреЛрдВ рдХреЛ (
MBPopoverBackgroundView
-
MBPopoverBackgroundView
) рдХреЛ рдЙрдирдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕рд╛рдл рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╛рдиреАред рдХреЙрд▓
setNeedsLayout
рдпрд╣, рдмрджрд▓реЗ рдореЗрдВ, рдЕрдЧрд▓реЗ рдЙрдкрдпреБрдХреНрдд рдХреНрд╖рдг (рдЬрдм рд╡рд╛рд╕реНрддрд╡
layoutSubviews
рдУрдПрд╕ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ) рдкрд░
layoutSubviews
рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред
layoutSubviews
рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
- (id)initWithFrame:(CGRect)frame {
рдкреГрд╖реНрдарднреВрдорд┐
рддреАрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП
UIImageView
рднреА рдЪреБрдиреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди, рдЬрдмрдХрд┐ рддреАрд░ рдЕрдкрдирд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдкреГрд╖реНрдарднреВрдорд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИред рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ, рдЖрдк рдХрдИ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрджрд░ рдкреЙрдкрдУрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЫреЛрдЯреЗ рдЯреВрд▓рдЯрд┐рдк рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рдлрд░реНрд╢ рдкрд░ рдЕрдХрд▓реНрдкрдиреАрдп рдкреЙрдкрдУрд╡рд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдПред Apple
resizableImageWithCapInsets:(UIEdgeInsets)capInsets
рдЗрдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ;
UIImageView
рд╡рд░реНрдЧ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП
resizableImageWithCapInsets:(UIEdgeInsets)capInsets
рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреГрд╖реНрдарднреВрдорд┐ рдмрдирд╛рдИ, рдЧреЛрд▓ рдХреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ 128x128 рдЖрдпрдд рдФрд░ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ, рдЫрд╛рдпрд╛ рдФрд░ рдЕрдиреНрдп рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд░рдВрдЧ рд╕реЗ рднрд░рд╛ред рдлрд╝рд╛рдЗрд▓ рдХреЛ "popover-background.png" рдирд╛рдо рджреЗрдВред
@property (nonatomic, strong) UIImageView *backgroundImageView;
UIEdgeInsets
рд╡рд┐рдХрд▓реНрдк рдЗрдВрдбреЗрдВрдЯреЗрд╢рди (
UIEdgeInsets
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рдЪрдпрдирд┐рдд рдЫрд╡рд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдиреЛрдВ рдХреА рдЧреЛрд▓рд╛рдИ рддреНрд░рд┐рдЬреНрдпрд╛ 10 рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЛ рд╕рднреА рд╕реАрдорд╛рдУрдВ рд╕реЗ 10 рдХреЗ рдмрд░рд╛рдмрд░ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рд╕рд╛рдордЧреНрд░реА
рд╕рд╛рдордЧреНрд░реА рдпрд╛ рд╕рд╛рдордЧреНрд░реА рд╡рд╣ рд╣реИ рдЬреЛ рдкреЙрдкрдУрд╡рд░ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред
UIPopoverBackgroundView
рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ
UIPopoverBackgroundView
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдордЧреНрд░реА рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЖрдХрд╛рд░
UIPopoverBackgroundView
рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП
UIPopoverBackgroundView
рдХрд╛ рдЖрдХрд╛рд░ред
рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм
UIPopoverController
рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рдХрд╣рд╛рдВ рд╕реЗ
UIPopoverController
рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рддреАрд░ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдХрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдорд╛рд░реЗ
MBPopoverBackgroundView
рд▓рд┐рдП
frame
рд╕рдВрдкрддреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред
рдпрд╣ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐
+(CGFloat)arrowHeight
рдФрд░
+(UIEdgeInsets)contentViewInsets
ред рдкрд╣рд▓рд╛ рддреАрд░ рдХреА рдКрдБрдЪрд╛рдИ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд┐рддрдиреА рдЕрдзрд┐рдХ рд╕рд╛рдордЧреНрд░реА рд╣реИ, рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рддрдХ рд╕рдВрдХреЗрддрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП,
UIPopoverController
рддреАрд░ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧреА рдФрд░
UIPopoverBackgroundView
рд╡рд░реНрдЧ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реЗрд╖ рдЙрдкрд╡рд░реНрдЧ) рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝
UIPopoverBackgroundView
, рдЗрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдХрд╛рд░
UIPopoverBackgroundView
, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдЕрдкрдирд╛ рддреАрд░ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЬреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд
contentViewInsets
ред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рд╕рдорд╛рди 10 рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдВрдЧреЗред рдЖрдк рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдХреЗрдд рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
+ (UIEdgeInsets)contentViewInsets {
рдЕрдм рд╣рдорд╛рд░реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ 10 рдкрд┐рдХреНрд╕реЗрд▓ рдореЛрдЯреА рдкреГрд╖реНрдарднреВрдорд┐ рд╕реЗ рдПрдХ рдлреНрд░реЗрдо рд╣реЛрдЧрд╛ред
рд╕реНрдерд╛рди (рд▓реЗрдЖрдЙрдЯ)
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдВрддрд┐рдо рдЪрд░рдг рддреАрд░ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд┐рддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреАрд░ рдХреА рджрд┐рд╢рд╛, рдЗрд╕рдХреЗ рдСрдлрд╕реЗрдЯ рдФрд░ рд╣рдорд╛рд░реЗ
UIPopoverBackgroundView
рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдпрд╛рдореЛрдВ рдХреЛ
UIPopoverBackgroundView
ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
layoutSubviews
рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
#pragma mark - Subviews Layout
рдЫреВ рдордВрддрд░
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛрдб рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдпрд╣ рдЖрдкрдХреЛ рдкреЙрдкрдУрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдЗрд╕ рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ minuses рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреАрд░ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд╕рдХрд░ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдПрдХ рд▓рд╛рд▓ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХреА рдЖрдмрд╛рджреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдФрд░ рдЙрдкрд╡рд░реНрдЧ рдФрд░ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реАрдХреЗ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗред рд╡рд╣реА рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рд╕реЗ рдЗрдВрдбреЗрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рд░рдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдореИрдВрдиреЗ рдмреЛрд▓рдиреЗ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рд╣реИрдВ
@interface MBPopoverBackgroundView : UIPopoverBackgroundView
рдмреЗрд╢рдХ, рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рддреАрд░ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╣реА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдпрджрд┐ рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рднреАрддрд░ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдВрдЧреЛрдВ рдФрд░ рд░рдВрдЧреЛрдВ рдХреЗ
MBPopoverBackgroundView
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рддреЛ рдмрд╕ рдПрдХ рд╣реА
MBPopoverBackgroundView
, рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдпрд╛ рдХреЙрд▓ рдХрд░реЗрдВ
set***
рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдЕрд▓рдЧ рдПрдХ
MBPopoverBackgroundView
рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд░ рдмрд╛рд░
MBPopoverBackgroundView
рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд▓рдЪреАрд▓рд╛рдкрди ...
рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рдгрд╛рдо
MBPopoverBackgroundView
рд╕реНрд░реЛрдд рдФрд░ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг
github рдкрд░ рд╣реИрдВ ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдЖрд░рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ
рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдлреНрд▓реИрдЧ
-fno-objc-arc
рдХреЛ рдордд рднреВрд▓рдирд╛ рдпрджрд┐ рдЖрдк ARC рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдХреЛрдб рдореЗрдВ рд╣реИрдВ рдЬреЛ рдХреБрдЫ
-fno-objc-arc
,
release
рдФрд░
dealloc
рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕реНрдереИрддрд┐рдХ рд╢рдмреНрджрдХреЛрд╢
s_customValuesDic
рдХрд┐рддрдиреА рджреЗрд░ рддрдХ рдЬреАрд╡рд┐рдд рд░рд╣реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐
s_customValuesDic
рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк
s_customValuesDic
рдирд╣реАрдВ
s_customValuesDic
рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдЖрд░рд╕реА рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рддрдм рддрдХ рд╕реНрдерд┐рд░ рд╡рд╕реНрддреБ рдХреЛ рдирд╣реАрдВ
s_customValuesDic
рдЬрдм рддрдХ рдХрд┐ рдЖрд╡реЗрджрди рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдФрд░ рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реНрдерд┐рд░ рдФрд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛