Я добавил панель инструментов на клавиатуре, она появляется каждый раз, когда пользователь нажимает на TextView, у нее также есть несколько кнопок, которые изменяются и взаимодействуют с TextView, например, изменяя текст шрифт.Панель инструментов подкласса
То, что я пытаюсь сделать, это создать подкласс панели инструментов, так что он может быть использован на других TextViews, но моя проблема:
Как использовать методы TextView делегата внутри панели инструментов подкласс?
Вот мой текущий код (не весь код, чтобы не делать пост слишком большой):
.h
#import <UIKit/UIKit.h>
@interface CustomUIToolbar : UIToolbar{
UIButton *btn1;
UIButton *btn2;
UIButton *btn3;
}
.m
@implementation CustomUIToolbar
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
UIBarButtonItem *one = ...
UIBarButtonItem *two = ...
UIBarButtonItem *three = ...
self.barStyle = UIBarStyleDefault;
self.layer.borderWidth = 1;
self.layer.borderColor = [[UIColor lightGrayColor] CGColor];
self.items = [NSArray arrayWithObjects:one,placeholder,two,three,four,five,nil];
[self sizeToFit];
}
return self;
}
-(void)actionBtn3:(UIButton *) barBtnItem{
...
}
-(void)actionBtn2:(UIButton *) barBtnItem{
...
}
-(void)actionBtn1:(UIButton *) barBtnItem{
...
}
// And the UITextView Delegate Methods
- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
...
return YES;
}
- (void)textViewDidChangeSelection:(UITextView *)textView {
...
}
это не работает – Bruno
Можете ли вы показать код, в котором вы инициализируете свой собственный экземпляр вкладки и назначаете делегат? –
UIToolbar * tool = [[CustomUIToolbar alloc] init]; self.textView.inputAccessoryView = инструмент; self.textView.autocorrectionType = UITextAutocorrectionTypeNo; – Bruno