【问题标题】:addSubview outside resized frameaddSubview 在调整大小的框架之外
【发布时间】:2009-12-22 14:26:52
【问题描述】:

我已经为我的所有应用程序编写了一个“通用”广告管理类,但我遇到了一个问题。此类可以将广告视图随机添加到我的应用程序的任何视图中;为此,我的想法是调整当前视图的框架大小以降低其高度(比如说减少 50 像素)并将我的广告视图添加到我创建的可用空间中。这样,我不必费心修改我的广告集成视图,一切都是自动完成的。它运行良好,但我的广告没有响应触摸事件。我想这是因为这个广告视图在我的控制器框架“之外”。

可以降低我的视图框架的高度并提高它的边界,以便我的广告子视图真的是我视图的一部分吗?

非常感谢:)

UIView *adView = [[UIView alloc] init];
adView.frame = CGRectMake(0,267,320,100);
adView.backgroundColor = [UIColor grayColor];
adView.tag = 123456;
adView.userInteractionEnabled = YES;
CGRect myFrame = [self.view frame];
myFrame.size.height = myFrame.size.height - 100;
[self.view setFrame:myFrame];
[self.view addSubview:adView];

这是一张代表我想做的图片: http://i49.tinypic.com/2iw7lz4.jpg

【问题讨论】:

    标签: iphone objective-c uiview


    【解决方案1】:

    这不是答案,但我没有选择对您的问题发表评论。

    能否请您发布您在 touchesBegan 方法中的代码?

    我认为可能有问题

    问候

    亚历杭德拉

    【讨论】:

    • 我没有实现任何 touchesBegan 方法。我的广告视图只包含一个带有目标的 UIButton。
    • 我可以推荐的是创建一个覆盖 320 x 480 的视图并将您的控制器附加到该视图。然后在可用空间中添加您正在调整大小的视图和按钮。附加到大视图的控制器将响应按钮中的事件。我认为这可行,我希望能有所帮助:) 问候亚历杭德拉
    • 感谢您的提示,但这并不是我想要的。由于我希望广告管理过程独立于应用程序,因此我不想更改视图层次结构:S
    • 我放弃了:我所做的是我在主视图中创建每个视图,并在我有广告要显示时以编程方式调整子视图的大小。
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多