UIScrollView涵盖了UIButton

时间:2011-12-10 08:10:27

标签: iphone ios uiscrollview uibutton iboutlet

我创建了UIScrollView,现在正尝试在滚动视图上放置UIButton。但是,当我构建并运行应用程序时,滚动视图仍然正常,但我看不到UIButton

我在界面构建器中链接UIButton IBOutlet

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    scrollView.backgroundColor = [UIColor blackColor];
    scrollView.delegate = self;
    scrollView.bounces = NO;

    backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"auckland-300.jpg"]];

    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"249a-134206f1d00-1342071f5d9.ImgPlayerAUCKLAND.png"]];

    // Note here you should size the container view appropriately and layout backgroundImage and image accordingly.
    containerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,601,601)];
    playButton = [[UIButton alloc] init]; //test button cannot see it.
    [containerView addSubview:backgroundImage];
    [containerView addSubview:image];

    scrollView.contentSize = containerView.frame.size;
    [scrollView addSubview:containerView];

    scrollView.minimumZoomScale = 0.5;
    scrollView.maximumZoomScale = 31.0;
    [scrollView setZoomScale:scrollView.minimumZoomScale];
    self.view = scrollView;    
}

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

一切似乎都好。但我认为您无法看到按钮playButton的原因是因为您没有将其添加到view本身。

你不需要这样做吗? [containerView addSubview:playButton];

为了帮助你,这就是我为调试做的事情 -

  

UIView实现了一种有用的描述方法。另外,它   实现一个recursiveDescription方法,你可以调用它来获取一个   整个视图层次结构的摘要。

NSLog(@"%@", [controller.view recursiveDescription]);

答案 1 :(得分:0)

按钮可能在您将控制器视图链接到的笔尖中,对吗?通过将滚动视图分配给视图,可以从中删除视图 来自控制器的笔尖,这就是为什么你看不到te按钮或按下它。

您可以将按钮放在滚动视图中,也可以将scrollView和playButton都添加为self.view的子视图。

也许你想重新考虑你的设计。 在滚动视图上放置一个按钮对我来说似乎不是一个好习惯。