UIImage рдФрд░ resizableImageWithCapInsets

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ iOS 5 рдЕрдкреАрдпрд░реЗрдВрд╕ API рдФрд░ UINavigationBar рдХреЗ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдмреЗрд╣рддрд░ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд▓рдХреНрд╖реНрдп рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдореЗрдВ рдЕрдкрдиреА рдкреГрд╖реНрдарднреВрдорд┐, рд╢реАрд░реНрд╖рдХ рдФрд░ рдкрд╛рда рдЬреЛрдбрд╝рдирд╛ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ рдЙрд╕реА Appearance API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдореЗрдВ рдмрдЯрдиреЛрдВ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдЬрдм рдореИрдВ рдмрдЯрди рдЕрдиреБрдХреВрд▓рди рдореЗрдВ рдбреВрдмрд╛ рд╣реБрдЖ рдерд╛, рддреЛ рдореИрдВрдиреЗ iOS 5 рдореЗрдВ рд╢реБрд░реВ рдХреА рдЧрдИ UIImage рд╡рд┐рдзрд┐, resizableImageWithCapInsets рдХреА рдЦреЛрдЬ рдХреАред рдореИрдВрдиреЗ рддрдп рд╕реАрдорд╛ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдЦреБрдж рдХреЛ рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
( рдиреЛрдЯ рдЕрдиреБрд╡рд╛рджрдХ - рдореБрдЭреЗ рдмреЗрд╣рддрд░ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЙрдзрд╛рд░?)
рдпрд╣ рдкреЛрд╕реНрдЯ рдореИрдВрдиреЗ рдЬреЛ рд╕реАрдЦрд╛ рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред

UIButton рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛


рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, resizableImageWithCapInsets рдЫрд╡рд┐ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛рдПрдБ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЗрд╕реЗ рдЖрдХрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд╕реНрдХреЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпреЗ рд╕реАрдорд╛рдПрдБ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдЗрд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рднреА рдмрдЯрди рд╕рдорд╛рди рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдПрдХ рд╕рдлреЗрдж рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдврд╛рд▓ред рдиреАрдЪреЗ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рд╣реИ (рд╕рдлреЗрдж рд╕реАрдорд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдЫрд╡рд┐):

рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдмрдЯрди рдХрд╣реАрдВ рднреА рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрди рдХреЛрдб рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЯрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(80, 130, 160, 44)]; [button setTitle:@"Test Button" forState:UIControlStateNormal]; //     UIImage *buttonImage = [UIImage imageNamed:@"blueButton"]; [button addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchUpInside]; [button setBackgroundImage:buttonImage forState:UIControlStateNormal]; [[self view] addSubview:button]; 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмрдЯрди рд╕рднреА рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдлреИрд▓рд╛ рд╣реБрдЖ рд╣реИред рдЕрдм рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрджрд▓реЗрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджреЗрдЦреЗрдВ:
 - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets 

рдереЛрдбрд╝рд╛ рдФрд░ рджреЗрдЦрдиреЗ рдкрд░, рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ UIEdgeInserts рдХреЛ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 typedef struct { CGFloat top, left, bottom, right; } UIEdgeInsets; 


UIEdgeInsets рдПрдХ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рдлреНрд▓реЛрдЯ рдорд╛рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ: рдЫрд╡рд┐ рдХреЗ рдКрдкрд░реА, рдмрд╛рдПрдВ, рдирд┐рдЪрд▓реЗ рдФрд░ рджрд╛рдПрдВ рдХреНрд╖реЗрддреНрд░ред рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдмрдЯрди рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:
 //     UIImage *buttonImage = [[UIImage imageNamed:@"blueButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 16, 0, 16)]; 

рдпрд╣ рдПрдХ рдРрд╕реА рдЫрд╡рд┐ рдмрдирд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ 16 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЫреЛрдЯрд╛ рдпрд╛ рдЖрдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЫрд╡рд┐ рдХреЛ рдПрдХ рдмрдЯрди рдХреЗ рдЖрдХрд╛рд░ рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо:


UIBarButtonItem рдХреЗ рд╕рд╛рде рдХреИрдк рдЗрдирд╕реЗрдЯ


рд╣рдо рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдореЗрдВ рдмрдЯрди рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реАрдорд╛рдУрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд┐рдирд╛, рдмрдЯрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдкреВрд░реЗ рдлреНрд░реЗрдо рдореЗрдВ рдЫрд╡рд┐ рдХреЗ 12 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЯрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
 UIImage *backButton = [[UIImage imageNamed:@"blueButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 12, 12)]; 

рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо:


рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рджрдХ - рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ 9-рдкреИрдЪ рддрдХрдиреАрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдПрдХ рдЫрд╡рд┐ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

Source: https://habr.com/ru/post/In144438/


All Articles