uitextview クラスのメソッドをオーバーライドしようとしていますが、作業中のクラスでそれを行いたいのですが、動作させることができません。私は人々が別のクラスでそれをオーバーライドするのを見ただけです。ありがとうございました。
#import <UIKit/UIKit.h>
@interface MyTextView : UITextView
@end
@interface ViewController : UIViewController
@property (nonatomic, retain) IBOutlet MyTextView * tv;
@end
//////////////////////////////////
#import "ViewController.h"
@implementation MyTextView
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
[UIMenuController sharedMenuController].menuVisible = NO; //do not display the menu
// [self resignFirstResponder]; //do not allow the user to selected anything
return NO;
}
@end
@implementation ViewController
@synthesize tv;
- (void)viewDidLoad
{
[super viewDidLoad];
tv = [[MyTextView alloc] init];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}
}
-(void)textViewDidChangeSelection:(MyTextView *)textView
{
NSRange range = textView.selectedRange;
if(range.location<textView.text.length)
{
NSString * getRidOfFirstHalfString = [tv.text substringFromIndex:range.location];
NSString * selectedString = [getRidOfFirstHalfString substringToIndex:range.length];
NSLog(@"%@",selectedString);
}
else
{
// Do what ever you want to do
}
}
@end