忍者ブログ
Welcome to my site. Please sitting on the couch, relax and see the web site.

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Git Hub って何?

Free codeをゲットするには
世界的なクリエイターは必ずここを使ってます。



https://github.com/

拍手[0回]

PR

Share Kit


You need use SNS services, have to get some code,

Git Hub

Please GET! it now.

拍手[0回]

RootViewController.m

//
// RootViewController.m
// PlainNote
//
// Copyright (c) 23 __MyCompanyName__. All rights reserved.
//


#import "RootViewController.h"
#import "DetailNoteViewControler.h"



@implementation RootViewController
@synthesize Notes, addButtonItem, listTableView, helpButton, syncButton;


- (void)viewDidLoad {
[super viewDidLoad];

self.navigationItem.rightBarButtonItem = self.addButtonItem;


[self createEditableCopyOfDatabaseIfNeeded];

//theme info
// listTableView.backgroundColor = [UIColor blackColor];

// Register for application exiting information so we can save data
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:UIApplicationWillTerminateNotification object:nil];

NSString *documentDirectory = [self applicationDocumentsDirectory];
NSString *path = [documentDirectory stringByAppendingPathComponent:@"NotesList.plist"];

//NSString *path = [[NSBundle mainBundle] pathForResource:@"NotesList" ofType:@"plist"];
NSMutableArray *tmpArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
self.Notes = tmpArray;
[tmpArray release];


// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
self.navigationItem.leftBarButtonItem = self.editButtonItem;
}

- (IBAction) addButtonPressed: (id) sender {
// NSLog(@"Add button pressed!");

DetailNoteViewControler *noteDetailViewControler = [[DetailNoteViewControler alloc] initWithNibName:@"DetailNoteViewControler" bundle:nil];

// this adds a navication bar to the noteDetailViewController
UINavigationController *addNavCon = [[UINavigationController alloc] initWithRootViewController:noteDetailViewControler];
noteDetailViewControler.noteArray = self.Notes;

[self presentModalViewController:addNavCon animated:YES];

[addNavCon release];
[noteDetailViewControler release];


}

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

// important to reload data when view is redrawn
[self.tableView reloadData];
}

/*
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
*/
/*
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
}
*/

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
// Release anything that can be recreated in viewDidLoad or on demand.
// e.g. self.myOutlet = nil;
}


#pragma mark Table view methods

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}


// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.Notes count];
}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}

//theme info
//cell.contentView.clipsToBounds = YES;
// [cell.contentView setBackgroundColor:[UIColor darkGrayColor]];
// [self.tableView reloadData];
// Configure the cell.
//cell.textLabel.backgroundColor = [UIColor darkGrayColor];
cell.textLabel.text = [[self.Notes objectAtIndex:indexPath.row ]objectForKey:@"Text"];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"yyyy-MM-dd HH:mm:ss zzz"];

NSDate *dateTmp;
dateTmp = [[self.Notes objectAtIndex:indexPath.row ]objectForKey:@"CDate"];
cell.detailTextLabel.text = [dateFormat stringFromDate: dateTmp];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;


[dateFormat release];
// [dateTmp release];



//cell.text.label = cell.text.label + [[self.Notes objectAtIndex:indexPath.row]objectForKey:@"CreationDate"];

return cell;
}




// Override to support row selection in the table view.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

// Navigation logic may go here -- for example, create and push another view controller.

DetailNoteViewControler *noteDetailViewControler = [[DetailNoteViewControler alloc] initWithNibName:@"DetailNoteViewControler" bundle:nil];
//[self.navigationController pushViewController:noteDetailViewControler animated:YES];

// this adds a navication bar to the noteDetailViewController
UINavigationController *addNavCon = [[UINavigationController alloc] initWithRootViewController:noteDetailViewControler];
noteDetailViewControler.Notedict = [self.Notes objectAtIndex:indexPath.row];
noteDetailViewControler.noteArray = self.Notes;

[self presentModalViewController:addNavCon animated:YES];

[addNavCon release];
[noteDetailViewControler release];

}



/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}
*/



// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source.
// Delete the row from the data source.
[self.Notes removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
}
}



/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
*/


/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the item to be re-orderable.
return YES;
}
*/

- (void)createEditableCopyOfDatabaseIfNeeded {
// First, test for existence - we don't want to wipe out a user's DB
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *documentDirectory = [self applicationDocumentsDirectory];
NSString *writableDBPath = [documentDirectory stringByAppendingPathComponent:@"NotesList.plist"];

BOOL dbexits = [fileManager fileExistsAtPath:writableDBPath];
if (!dbexits) {
// The writable database does not exist, so copy the default to the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"NotesList.plist"];

NSError *error;
BOOL success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
if (!success) {
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}
}

- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

-(void) applicationWillTerminate: (NSNotification *)notification {

// NSLog(@"got app will terminate");
NSString *documentDirectory = [self applicationDocumentsDirectory];
NSString *path = [documentDirectory stringByAppendingPathComponent:@"NotesList.plist"];

[self.Notes writeToFile:path atomically:YES];
}

- (void)dealloc {
[Notes release];
[addButtonItem release];
[super dealloc];
}


@end

拍手[0回]

RootViewController.h

//
// RootViewController.h
// PlainNote
//
//

#import <UIKit/UIKit.h>

@interface RootViewController : UITableViewController {
NSMutableArray* Notes;
IBOutlet UIBarButtonItem *addButtonItem;
IBOutlet UITableView *listTableView;
}
@property (nonatomic, retain) NSMutableArray* Notes;
@property (nonatomic, retain) UIBarButtonItem* addButtonItem;
@property (nonatomic, retain) UIBarButtonItem* helpButton;
@property (nonatomic, retain) UIBarButtonItem* syncButton;
@property (nonatomic, retain) UITableView* listTableView;


- (IBAction) addButtonPressed: (id) sender;

- (NSString *)applicationDocumentsDirectory;
- (void)createEditableCopyOfDatabaseIfNeeded;
- (void) applicationWillTerminate: (NSNotification *)notification;
@end

拍手[0回]

PlainNoteAppDelegate.m

//
// PlainNoteAppDelegate.m
// PlainNote
//
//


#import "PlainNoteAppDelegate.h"
#import "RootViewController.h"


@implementation PlainNoteAppDelegate

@synthesize window;
@synthesize navigationController;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after app launch

[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
return YES;
}


- (void)applicationWillTerminate:(UIApplication *)application {
// Save data if appropriate
}


#pragma mark -
#pragma mark Memory management

- (void)dealloc {
[navigationController release];
[window release];
[super dealloc];
}


@end

拍手[0回]

NoteAppDelegate.h

//
// NoteAppDelegate.h
// Note
//
//


#import <UIKit/UIKit.h>

@interface PlainNoteAppDelegate : NSObject {

UIWindow *window;
UINavigationController *navigationController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

@end

拍手[0回]

DetailNoteViewControler.m

//
// DetailNoteViewControler.m
//
//
// Created by Hisato on 12/28/11.
//

#import "DetailNoteViewControler.h"
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
#import <QuartzCore/QuartzCore.h>
#import "SHK.h"

#define MAIL_SUBJECT @"iNotes"
#define MAIL_BODY textView.text
#define MAIL_TO [NSArray arrayWithObject:@""]
#define MAIL_CC [NSArray arrayWithObject:@""]
#define MAIL_BCC [NSArray arrayWithObjects:@"", @"", nil]

@implementation DetailNoteViewControler
@synthesize NoteDetail, Notedict, noteArray, mailButton, scrollView, toolBar;

/*
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
}
return self;
}
*/


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];


//背景追加の記述
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg-paper.png"]];

// イベントストアを初期化
self->eventStore = [[EKEventStore alloc] init];


NoteDetail.delegate = self;
didEdit = NO;
keyboardVisible = NO;
scrollView.contentSize = self.view.frame.size;

self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel:)] autorelease];
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save:)] autorelease];


[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardDidShow:)
name: UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardDidHide:)
name: UIKeyboardDidHideNotification object:nil];

if ([MFMailComposeViewController canSendMail])
mailButton.enabled = YES;


}


//シェアアクションについて
- (IBAction)shareButton:(id)sender;{
// UItextViewに表示されているtext指定して、SHKItemを生成する
SHKItem *item = [SHKItem text:NoteDetail.text];

// SHKItemを引数に指定してShareKitのアクションシートを生成
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

// ShareKitのアクションシートを表示
[actionSheet showInView:self.view];

[SHK flushOfflineQueue];
}



// カレンダーイベント
-(IBAction)executeSave:(id)sender {

// 新しいカレンダーイベントを作成
EKEvent *event = [EKEvent eventWithEventStore:self.eventStore];

// イベントのタイトルを設定
event.title = [NSString stringWithFormat:@"Memo",self.mailButton];

// 開始日を設定
event.startDate = [[NSDate alloc] init];
// 終了日を設定
event.endDate = [[NSDate alloc] initWithTimeInterval:60 sinceDate:event.startDate];
// 表示内容を設定
event.notes = NoteDetail.text;

// イベントが関連付けられるカレンダーを設定
[event setCalendar:[self.eventStore defaultCalendarForNewEvents]];

// イベントをカレンダーデータベースに保存
[self.eventStore saveEvent:event span:EKSpanThisEvent error: nil];

//カレンダー保存のアラート
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Success!"
message:@"Recorded in the iOS Calendar!"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[alert show];
}










-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
if(self.Notedict != nil){
NoteDetail.text = [Notedict objectForKey:@"Text"];

}

}

-(void) viewWillDisappear:(BOOL)animated {
//NSLog (@"Unregsitering for keyboard events");
[[NSNotificationCenter defaultCenter] removeObserver:self];


//if we edited lets save the note in case we're exiting for a text or incoming call
if(didEdit){
[self savePlist];

}
}

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

-(void) keyboardDidShow: (NSNotification *)notif {
if (keyboardVisible) {
//NSLog(@"Keyboard is already visible. Ignoring notofication.");
return;
}

//The keyboard wasn't visible before

// Get the size of the keyboard.
NSDictionary* info = [notif userInfo];
NSValue* aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;

//resize the scroll view
CGRect viewFrame = self.view.frame;
viewFrame.size.height -= (keyboardSize.height);
viewFrame.size.height -= [toolBar frame].size.height;
scrollView.frame = viewFrame;

//change the button to a done instead of save

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(save:)] autorelease];
keyboardVisible = YES;
}

-(void) keyboardDidHide: (NSNotification *)notif {


NSDictionary* info = [notif userInfo];
NSValue* aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
CGRect viewFrame = self.view.frame;
viewFrame.size.height += keyboardSize.height;
scrollView.frame = viewFrame;

if (!keyboardVisible) {
//NSLog(@"Keyboard is already hidden. Ignoring notification.");
return;
}

keyboardVisible = NO;

}



//mail
- (IBAction)mail:(id)sender;{
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:@"Choose"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"Mail",nil];
[actionSheet showInView:self.view];
[actionSheet release];
}

// アクションシート カレンダー、Mail、キャンセルに対応

- (void)actionSheet:(UIActionSheet *)actionSheet
clickedButtonAtIndex:(NSInteger)buttonIndex
{if (buttonIndex == 0) {[self launchMailComposer]; // Mail送信の記述
}
}


//メールの組み立て
-(void)launchMailComposer{

Class klass = NSClassFromString(@"MFMailComposeViewController");
if(klass != nil) {
if([klass canSendMail]) {
[self openMailComposer];
} else {
[self openMailApp];
}}

}



- (void) openMailComposer {
// メールコンポーザーを起動する場合
MFMailComposeViewController *picker =
[[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;


// ヘッダの指定
[picker setSubject:@"From ABC iNote!"];
[picker setToRecipients:MAIL_TO];
[picker setCcRecipients:MAIL_CC];
[picker setBccRecipients:MAIL_BCC];
[picker setMessageBody:NoteDetail.text isHTML:NO];



// 起動
[self presentModalViewController:picker animated:YES];

}

- (void) openMailApp {
// メールアプリに切り替えの場合
NSString *query =
[NSString stringWithFormat:@"mailto:%@?cc=%@&bcc=%@&subject=%@&body=%@",
[MAIL_TO componentsJoinedByString:@","],
[MAIL_CC componentsJoinedByString:@","],
[MAIL_BCC componentsJoinedByString:@","], MAIL_SUBJECT, NoteDetail.text];
NSString *q =
[query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:q]];
}

- (void) mailComposeController:(MFMailComposeViewController *)controller
didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
// resultに、メール送信の結果が入る
[self dismissModalViewControllerAnimated:YES];

//メール送信結果のアラート
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Success!"
message:@""
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[alert show];
[alert release];

}


//セーブボタンとキャンセルボタン

- (IBAction) save: (id) sender {

if(keyboardVisible){
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save:)] autorelease];
[NoteDetail resignFirstResponder];
keyboardVisible=NO;
return;

}

[self savePlist];

// NSLog(@"Save pressed!");
[self dismissModalViewControllerAnimated:YES];
}


- (void) savePlist{

// Create a new dictionary for the new values
NSMutableDictionary* newNote = [[NSMutableDictionary alloc] init];

[newNote setValue:NoteDetail.text forKey:@"Text"];
[newNote setObject:[NSDate date] forKey:@"CDate"];


if(self.Notedict != nil){
// We're working with an exisitng note, so let's remove
// it from the array to get ready for a new one
[noteArray removeObject:Notedict];
self.Notedict = nil; //This will release our reference too

}

// Add it to the master array and release our reference
[noteArray addObject:newNote];

//important, without this it double creates your saved note on exit due to saving on viewWillDissapear
didEdit = NO;

[newNote release];

// Sort the array since we just aded a new drink
NSSortDescriptor *nameSorter = [[NSSortDescriptor alloc] initWithKey:@"CDate" ascending:NO selector:@selector(compare:)];
[noteArray sortUsingDescriptors:[NSArray arrayWithObject:nameSorter]];
[nameSorter release];



}



- (IBAction) cancel: (id) sender {
// NSLog(@"Cancel pressed!");
// handle popup warning of unsaved changes

if(!didEdit)
{
[self dismissModalViewControllerAnimated:YES];
}
else
{
// open a alert with an OK and cancel button
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Unsaved Changes!" message:@"Close without saving?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[alert show];
[alert release];

}



}



- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
// the user clicked one of the OK/Cancel buttons
if (buttonIndex == 0)
{
//NSLog(@"cancel")

}
else
{
[self dismissModalViewControllerAnimated:YES];
//NSLog(@"ok");
}
}

- (void)textViewDidChange:(UITextView *)NoteDetail{

//text field has started edit session show warning on cancel without save
didEdit = YES;
//NSLog(@"didEdit=YES");

}

- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {

// NSLog(@"viewDidUnload");

[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}



- (void)dealloc {
// [noteArray release];
// [Notedict release];
[NoteDetail release];
[scrollView release];
[super dealloc];
}


@end

拍手[0回]

DetailNoteViewControler.h

//
// DetailNoteViewControler.h
// PlainNote

// Created by fablab on 2011/12/18.
// Copyright (c) 23 __MyCompanyName__. All rights reserved.
//
//

#import <UIKit/UIKit.h>
#import <EventKit/EventKit.h>
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>


@interface DetailNoteViewControler : UIViewController <MFMailComposeViewControllerDelegate,UIAlertViewDelegate,UITextViewDelegate,UIActionSheetDelegate> {
NSDictionary *Notedict;
IBOutlet UITextView *NoteDetail;
NSMutableArray *noteArray;
//future for up and down through notes
// IBOutlet UIBarButtonItem *upButton;
// IBOutlet UIBarButtonItem *dnButton;
BOOL keyboardVisible;
BOOL didEdit;
IBOutlet UIScrollView *scrollView;
IBOutlet UIToolbar *toolBar;



EKEventStore *eventStore; // カレンダーデータベースアクセスオブジェクト

}


//メールアクションの準備
-(void) launchMailComposer;
-(void) openMailComposer;
-(void) openMailApp;


@property (nonatomic, retain) EKEventStore *eventStore;

@property (nonatomic, retain) NSMutableArray* noteArray;
@property (nonatomic, retain) UITextView *NoteDetail;
@property (nonatomic, retain) NSDictionary *Notedict;
@property (nonatomic, retain) UIBarButtonItem *mailButton;
@property (nonatomic, retain) UIScrollView *scrollView;
@property (nonatomic, retain) UIToolbar *toolBar;




// 送信ボタンアクション
- (IBAction)shareButton:(id)sender;

//Mail
- (IBAction)mail:(id)sender;



//@property (nonatomic, retain) UIBarButtonItem *upButton;
//@property (nonatomic, retain) UIBarButtonItem *dnButton;


-(void)keyboardDidShow:(NSNotification *)notif;
-(void)keyboardDidHide:(NSNotification *)notif;
-(void)textViewDidChange:(UITextView *)NoteDetail;
-(void)savePlist;
-(void)popupActionSheet;


//future for up and down through notes
//- (IBAction) upButtonAction: (id) sender;
//- (IBAction) dnButtonAction: (id) sender;



@end

拍手[0回]

ABC SNS MEMO ソースコード

ここから、SNS まメモ(ABC SNS NOTE)のオープンソースコードをご覧いただけます。ご自由にお使いください。改変時、二次利用後は、必ずこちらのコメント欄で公開することが前提です。

I've published the source code for the app GitHub. You can freely download. Please be published on this site as consideration for the feature you've added. Please write the link in the comments to the GitHub. This is an obligation. Thank you.



Rink/GitHubからdownload(To GitHub)

拍手[0回]