IOS7 рдкрд░ рдзрдмреНрдмрд╛

рдЖрдИрдУрдПрд╕ рдХреЗ рд╕рд╛рддрд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, рдХрдИ рдпреВрдЖрдИ рддрддреНрд╡ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рд▓рдЧрдиреЗ рд▓рдЧреЗ (рджреЗрдЦреЗрдВ рд╕рддреНрд░ 226, рдЖрдИрдУрдПрд╕ рдкрд░ рдЖрдИрдЬреАрдЖрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ )ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдкреЙрдк рдУрд╡рд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рд░ рдФрд░ рдЕрд▓рд░реНрдЯ рдореЗрдВ рдзреБрдВрдзрд▓реА рдкреГрд╖реНрдарднреВрдорд┐ рд╣реЛрддреА рд╣реИред



рдпрджрд┐ рдЖрдк рдмреНрд▓рд░ рдХреЛ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ, рдпрд╣ рд▓реЗрдЦ рдмрддрд╛рдПрдЧрд╛ред


рдХрд▓рдВрдХ рдЕрд▓рдЧ рд╣реИ


рдмреНрд▓реВрдЬрд╝ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ: рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдкрд╣рд▓рд╛ рдПрдХ рдмрд╛рд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдзреБрдВрдзрд▓рд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдЫреЛрдЯреЗ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдмреНрд▓рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ 7-рдХреА рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдЙрдЪреНрдЪ рдЧрддрд┐ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реА рд╕рдордп рд╡реЙрд▓реНрдпреВрдо рдирд┐рдпрдВрддреНрд░рдг рд╡рд╛рд▓рд╛ рдкреИрдирд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓реИрдЧ рдХреЗ рдмреНрд▓реВрдЯреВрде рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рддреЛ, рдЖрдИрдУрдПрд╕ 7 рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдмреНрд▓реВрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗред

рдкрд░рдд рдХреА рдЪреЛрд░реА


рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЪреВрдВрдХрд┐ рдпреВрдЖрдИрдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕рдХреА рдкрд░рдд рдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:[self bounds]]]; [toolbar setBarTintColor:[UIColor greenColor]]; [self.layer insertSublayer:[self.toolbar layer] atIndex:0]; 

рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред
рдЖрдИрдУрдПрд╕-рдмреНрд▓рд░ (рдХреЛрдХреЛрдЖ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз) рдирд╛рдордХ рдПрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

DrawViewHierarchyInRect рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: afterScreenUpdates


рдпрджрд┐ рдХрд╛рд░реНрдп рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдмреНрд▓реНрдпреВрдЕрд░ рдмрдирд╛рдирд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдЦреБрдж рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдзреБрдВрдзрд▓рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдИрдУрдПрд╕ 7 рдиреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рдкреЗрд╢ рдХрд┐рдпрд╛ред рджреЗрдЦреЗрдВ drawViewHierarchyInRect: afterScreenUpdates ред


рдЖрдк рдЪрд┐рддреНрд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рджреГрд╢реНрдп рд╕реНрдиреИрдкрд╢реЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЧрддрд┐ 15 рдЧреБрдирд╛ рдмрдврд╝ рдЧрдИ рд╣реИ!

рдЙрдкрдпреЛрдЧ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ ( рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ):

 -(UIImage *)blurredSnapshot { UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, self.window.screen.scale); [self drawViewHierarchyInRect:self.frame afterScreenUpdates:NO]; UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext(); UIImage *blurredSnapshotImage = [snapshotImage applyLightEffect]; UIGraphicsEndImageContext(); return blurredSnapshotImage; } 

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, WWDC рд╕реЗ рд▓реА рдЧрдИ рд╢реНрд░реЗрдгреА UIImage + ImageEffects рдФрд░ Accelerate Framework рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд▓рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ рдЖрдк рдмреНрд▓рдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рднреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, CIFilter рдпрд╛ рдЗрд╕рдХреЗ рдирд┐рдЬреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреИрд╕рд╛ рдХрд┐ JMIBlurView рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ 7 рд╕реЗ рдЖрдк рд░реЗрдВрдбрд░ рдЗрдирдХреЙрдиреНрдЯреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд▓рдЧрднрдЧ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╢реЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдмреНрд▓реНрдпреВрдЕрд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

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

рдирд┐рд╖реНрдХрд░реНрд╖


IOS7 рдкрд░ рдмреНрд▓рд░ рдмрд╣реБрдд рддреЗрдЬ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рддреЛ рдкреНрд░рджрд░реНрд╢рди рдЦреЛрдиреЗ рдХреЗ рдбрд░ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

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


All Articles