1

ビュー コントローラーが複雑になってきていたので、いくつかのコントロールをグループ化し、uiview をサブクラス化することにしました。私のView Controllerでは、ビューを取得しています:

@property (strong, nonatomic) PostMenuCell *menuCell;
menuCell = [[PostMenuCell alloc] initWithFrame:CGRectMake(3,200,304,96) ];
menuCell.textView.delegate = self;
[self.view addSubview:menuCell];

そして、それは問題なく表示されます。テキスト ビューがあり、VC でデリゲートを使用しています。

@interface PostPictureViewController : UIViewController <UITextViewDelegate>

次のようなテキスト ビュー デリゲート メソッドを使用しようとしています。

- (void)textViewDidBeginEditing:(UITextView *)textView
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range        replacementText:(NSString *)text

テキスト領域をクリックするとキーボードがポップアップしますが、デリゲート メソッドが使用されないため、アクションを実行したり、キーボードを閉じたりすることはできません。menuCell.textView.delegate = self; と思いました。テキスト ビューに VC を委譲させますが、明らかにそうではありません。

どんなガイダンスでも大歓迎です。

4

1 に答える 1

0

デリゲートを設定した時点で textview が nil でないかどうかを確認します。

于 2012-06-10T02:48:31.950 に答える