在UITextView中动态创建UIButton的操作

时间:2010-06-02 18:37:22

标签: iphone uiscrollview uibutton uitextview

我有一个滚动视图;在里面我添加一个或多个文本视图;我在每个文本视图中添加一个按钮:

UIScrollView
   UITexView
      UIButton
   UITextView
      UIButton
   ...

这是代码的一部分:


- (void)viewDidLoad {
   ...
   [self loadUI];
   ...
}

-(void) loadUI {
   UITextView *textView;
   ...
   for (...) {
      UIButton *editButton = [[UIButton alloc] initWithFrame:
CGRectMake(self.scrollView.frame.size.width - 230, 0, 50, 20)];
      ...
      [editButton addTarget:self action:@selector(editPressed:) 
forControlEvents:UIControlEventTouchUpInside];
      ...
      textView = [[CustomTextView alloc] initWithFrame:
CGRectMake(10, dynamicHeight, self.queuedView.frame.size.width - 100, 500)];
      textView.userInteractionEnabled = NO;
      ...
      [textView addSubview:editButton];
      [editButton release];
      ...
      [self.scrollView addSubview:textView];
      [textView release];
   }
}

- (IBAction) editPressed:(id)sender {
   ...
}

出于某种原因,当我按下按钮时,不会调用editPressed方法。有什么想法吗?我尝试将为文本视图启用的交互设置为YES,但仍然没有。我把形式(IBAction)更改为(void),仍然没有。

谢谢你, 米哈伊

2 个答案:

答案 0 :(得分:0)

显然,textView.userInteractionEnabled = YES;做了伎俩。我之前试过这个但是没用。也许在改变之后我必须做一个干净的构建。

答案 1 :(得分:0)

尝试将按钮添加到文本字段的右侧视图

执行textField.rightView = editButton而不是[textView addSubview:editButton];