此範例為用一個NavigationBar,並新增一個Undo與Done按鈕,
控制已編輯的UITextView。
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITextViewDelegate>
{
NSString *prevText;
}
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIBarButtonItem *undoBtn;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *doneBtn;
- (IBAction)undoClick:(id)sender;
- (IBAction)doneClick:(id)sender;
@property (weak, nonatomic) IBOutlet UITextView *bigTextView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_undoBtn.enabled = NO;
_doneBtn.enabled = NO;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)undoClick:(id)sender
{
_bigTextView.text = prevText;
}
- (IBAction)doneClick:(id)sender
{
[_bigTextView resignFirstResponder];
}
- (void)textViewDidBeginEditing:(UITextView *)textView
{
prevText = textView.text;
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
_undoBtn.enabled = YES;
_doneBtn.enabled = YES;
return YES;
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
_undoBtn.enabled = NO;
_doneBtn.enabled = NO;
}
@end
文章標籤
全站熱搜