Q & A
안녕하세요. 초보 개발자입니다~
UIWebView 에서 텍스트를 누르고 있으면 카피, 페이스트 메뉴가 나옵니다.
저는 해당 메뉴는 보이지 않게 하고 자동으로 선택된 부분의 텍스트가 카피 되도록 하고 싶었습니다. (메뉴는 없앴습니다. )
문제는 셀렉트된 텍스트를 어떻게 받아와서 복사해야 할지를 모르겠습니다.
copyController.h
------------------------------
@interface copyController : UIViewController <UIWebViewDelegate>
{
UIWebView *WebView;
}
copyController.m
------------------------------
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
// 아래 소스는 강제로 해줄려고 테스트한 것입니다.
// 강제로 카피해줄려고 저런식으로 호출하였지만 프로그램이 종료되어 버립니다.
action = @selector(copy:);
[super copy:sender]; //-----------> 이부분에서는 에러가 납니다. super때문에 뻗어 버립니다.UIPasteboard *board = [UIPasteboard generalPasteboard];NSLog(@"copied : %@",board.string);
여기서 셀렉터된 영역의 텍스트를 강제로 카피 해주면 해결 됩니다.
셀렉터된 영역의 텍스트를 어떻게 받아와야 할지 모르겠습니다.
return [super canPerformAction:action withSender:sender];
}
- (void)copy:(id)sender
{
//호출되었을 때 찍어 본것입니다.
UIPasteboard *board = [UIPasteboard generalPasteboard];
NSLog(@"SENDER : copied : %@",board.string);
}
------------------------------
프로그램을 구성하는 전체 헤드 파일들 입니다.
RootViewController.h
------------------------------
@interface RootViewController : UITableViewController {
NSArray *controllers;
}
@interface projectAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
------------------------------
SecondLevelViewController.h
------------------------------
@interface SecondLevelViewController : UITableViewController {
UIImage *rowImage;
}
------------------------------
DisclosureButtonController.h
------------------------------
#import "SecondLevelViewController.h"
@class copyController;
@interface DisclosureButtonController : SecondLevelViewController {
NSArray *list;
}
------------------------------
최종적으로...
1. 셀렉트된 텍스트를 어떻게 받아와서 복사해야 할지를 모르겠습니다.
2. 1번을 해결하기 위해 아래와 같이 했지만 문제가 발생합니다.
[super copy:sender]; //-----------> 이부분에서는 에러가 납니다. super때문에 뻗어 버립니다.
셀렉트된 텍스트만 가져오면 해결되는데 도무지 가닥을 잡지를 못하겠습니다.
고수님들의 조언 부탁드립니다.
