I'm looking on the net but I can not find a clear answer .. In your opinion what is the best way to make these functions static?
CGRect ScreenRect = [[UIScreen mainScreen] bounds];
CGFloat screenwidth = screenRect.size.width;
CGFloat screenHeight = 64;
I need to call them several times in my UIView class and can not figure out how to implement this in a clean and elegant?
example actual code
-(id)initializeNetworkDetect:(NSString *)detectMessage {
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = 64;
networkView = [self initWithFrame:CGRectMake(0, -220, screenWidth, screenHeight)];
if (networkView) {
networkView.backgroundColor = BCKNETWORKVIEW;
labelNetwork = [[UILabel alloc] init];
[labelNetwork setFrame:CGRectMake(0, 4, 320, 30)];
[labelNetwork setFont:[UIFont boldSystemFontOfSize:11]];
[labelNetwork setBackgroundColor : [UIColor clearColor]];
[labelNetwork setTextColor: [UIColor whiteColor]];
[labelNetwork setAdjustsFontSizeToFitWidth:TRUE];
[labelNetwork setText:detectMessage];
labelNetwork.textAlignment = NSTextAlignmentCenter;
labelNetwork.lineBreakMode = NSLineBreakByWordWrapping;
labelNetwork.numberOfLines = 2;
[networkView addSubview:labelNetwork];
NSString *successAlertString = [[NSString alloc] init];
successAlertString = detectMessage;
tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(endTapping)];
tapGesture.cancelsTouchesInView = NO;
[self setUserInteractionEnabled:YES];
[self addGestureRecognizer:tapGesture];
}
return self;
}
-(void)showNetworkMessage {
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = 64;
screenRect = CGRectMake(0, 0, screenWidth, screenHeight);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.25];
[UIView setAnimationDelegate:self];
self.frame = screenRect;
[UIView commitAnimations];
}
-(void)setHideAnimationNetwork{
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = 64;
screenRect = CGRectMake(0, -220, screenWidth, screenHeight);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.25];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(deleteAnimation)];
self.frame = screenRect;
[UIView commitAnimations];
}
I'm solved with #define
#define RECT_SCREEN_Width_Size [UIScreen mainScreen].bounds.size.width
#define RECT_SCREEN_Height_Size 64
call them directly in the code #define and is suitable for all devices