Textfields / TextViews不会添加到scrollview iOS

时间:2013-06-28 17:53:19

标签: iphone ios objective-c

我正在尝试将textViewtextField添加为subViews到我的scrollViewscrollView显示为漂亮且绿色,但textViewtextField对象未显示在scrollView内。

这是方法

- (void) readerView: (ZBarReaderView*) view
     didReadSymbols: (ZBarSymbolSet*) syms
          fromImage: (UIImage*) img
{
    // do something useful with results
    for(ZBarSymbol *sym in syms) {
    self.symbolData = (NSString*)sym.data;
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 20, 20)];
    UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(30, 240,20,20)];
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 200, 300, 80)];
    [textField setBackgroundColor:[UIColor redColor]];
    [scrollView setBackgroundColor:[UIColor greenColor]];
    [textView setBackgroundColor:[UIColor purpleColor]];
    textView.text = self.symbolData;
    [self.view addSubview:scrollView];
    [scrollView addSubview:textField];
    [scrollView addSubview:textView];

    break;
    }
}

一旦我将设备相机移动到可以扫描的条形码上,就会调用此方法。

我在这个网站上也看到了很多类似的问题,我的代码看起来就像我看到的问题的答案,但我无法弄清楚为什么它不起作用。

提前致谢

2 个答案:

答案 0 :(得分:0)

添加我的评论作为答案。

您的滚动视图只有80个单位高。您要添加的子视图的y坐标为200和240,因此它们不在滚动视图的可见高度。默认情况下,Scrollviews设置为剪切到其边界,因此任何超出其边界的内容都将不可见。

答案 1 :(得分:0)

只需替换这三行

[self.view addSubview:scrollView];
[scrollView addSubview:textField];
[scrollView addSubview:textView];

使用

[scrollView addSubview:textField];
[scrollView addSubview:textView];
[self.view addSubview:scrollView];
  

首先将子视图添加到scrollview,然后将scrollView添加到   风景。或者全局定义你的scrollView。