2013-06-15 2 views
0

Как сохранить значение float (UIFontSize) с помощью NSUserDefaults?Сохранить значение float (UIFontSize) NSUserDefaults

(void)pinchGesture:(UIPinchGestureRecognizer *)gestureRecognizer{NSLog(@"*** Pinch: Scale: %f Velocity: %f", gestureRecognizer.scale, gestureRecognizer.velocity); 

UIFont *font = self.bioTextView.font; 
CGFloat pointSize = font.pointSize; 
NSString *fontName = font.fontName; 

pointSize = ((gestureRecognizer.velocity > 0) ? 1 : -1) * 1 + pointSize; 

if (pointSize < 13) pointSize = 13; 
if (pointSize > 26) pointSize = 26; 

self.bioTextView.font = [UIFont fontWithName:fontName size:pointSize]; 
+0

Вы не сказали нам, что проблема с кодом? – prince

+0

Код работает отлично, но я хочу сохранить это значение NSUserDefaults – Astakhoff

+1

О, мой плохой, мог бы хотя бы дать ему первый шаг: http://www.icodeblog.com/2008/10/03/iphone-programming-tutorial -savingretrieving-данные, использующие-NSUserDefaults / – prince

ответ

0

Проблема решена:

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGesture:)]; 

// And add it to your text view. 
[self.bioTextView addGestureRecognizer:pinchGesture]; 

UIFont *font = self.bioTextView.font; 
NSString *fontName = font.fontName; 

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
if ([prefs objectForKey:@"floatKey"]==nil) { 
    self.bioTextView.font = [UIFont fontWithName:fontName size:18]; 
} else { 
    float myFloat = [prefs floatForKey:@"floatKey"]; 
    self.bioTextView.font = [UIFont fontWithName:fontName size:myFloat]; 
} 
} 


- (void)pinchGesture:(UIPinchGestureRecognizer *)gestureRecognizer 
{ 
NSLog(@"*** Pinch: Scale: %f Velocity: %f", gestureRecognizer.scale, gestureRecognizer.velocity); 

UIFont *font = self.bioTextView.font; 
CGFloat pointSize = font.pointSize; 
NSString *fontName = font.fontName; 

pointSize = ((gestureRecognizer.velocity > 0) ? 1 : -1) * 1 + pointSize; 

if (pointSize < 13) pointSize = 13; 
if (pointSize > 26) pointSize = 26; 

self.bioTextView.font = [UIFont fontWithName:fontName size:pointSize]; 

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
[prefs setFloat:pointSize forKey:@"floatKey"]; 
[prefs synchronize]; 
} 
Смежные вопросы