1

私はこれを探して探しましたが、最終的に何かを見つけたとき、それは機能しません。ユーザーが選択したテキストの色を保存して読み込もうとしています。ここに私の保存ボタンがあります:

-(IBAction)save123456 {
    NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:textview];
    [[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"myColor"];
}

そして、ここに私の負荷があります:

-(IBAction)load123456 {
    NSData  *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"];
    UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
}

それが役立つ場合、私のテキストビューはテキストビューです。また、tuchupinside 経由ですべてをリンクしているので、何か変更する必要がある場合はお知らせください。

また、ユーザーが選択したテキストフォントを保存する方法を誰かが知っている場合も役立ちます。本当にありがとう!!

4

1 に答える 1

0

さて、色のRGBを保存できます。そして、フォントのフォント名。font.fontNameしたがって、 を保存するときは、これらの値を font:とfont.pointSize 色の RGB に保存します。ここでUIColorは、オブジェクトの RGB を取得する方法を確認できます。これらはすべて NSString および float 値であるため、保存に問題はありません。

- (NSString *) pahtForFile:(NSString*) filename
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:filename];
}


- (void) save
{
//get RGB and fontName , fontSize like I explained above

NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:fontName forKey:@"fontName"];
[dictionary setObject:[NSNumber numberWithFloat:fontSize]   forKey:@"fontSize"];
[dictionary setObject:[NSNumber numberWithFloat:red]    forKey:@"red"];
[dictionary setObject:[NSNumber numberWithFloat:green]  forKey:@"green"];
[dictionary setObject:[NSNumber numberWithFloat:blue]   forKey:@"blue"];

NSString *filepath = [self pathForFile:@"save.plist"];
[dictionary writeToFile:filepath atomically:TRUE];
}

- (void) load 
{
float red,green,blue,fontSize;
NSString *fontName;

NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:[self pahtForFile:@"save.plist"]];
red = [[dictionary objectForKey:@"red"] floatValue];
green = [[dictionary objectForKey:@"green"] floatValue];
blue = [[dictionary objectForKey:@"blue"] floatValue];

fontSize = [[dictionary objectForKey:@"fontSize"] floatValue];
fontName = [dictionary objectForKey:@"fontName"];

//now rebuild color and font like this:
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:1];
UIFont *font = [UIFont fontWithName:fontName size:fontSize];
}

お役に立てれば。ところで:答えが役に立つと思ったら、正しいとマークしてください。

乾杯、

ジョージ

于 2012-07-05T07:02:20.423 に答える