向 UITableViewController 添加可点击和固定的子视图?

2024-03-13

我想将 ADBannerView 对象静态放置到我的 UITableView 屏幕上,这意味着我希望它始终位于我的工具栏 (self.navigationController.toolbar) 上方,即使用户滚动 tableview 时也是如此。我通过将 ADBannerView 添加为工具栏的子视图并为框架原点赋予负值来解决此问题:

[self setBannerViewSize];
[self.navigationController.toolbar addSubview:bannerView];

唯一的问题是:我无法通过这种方式点击并打开 iAd - 我可以看到横幅,但点击它时没有任何反应。

由于我也使用刷新控件,因此使用 UIViewController 而不是 UITableViewController 并手动添加 tableView 的选项对我来说不起作用。有没有其他方法可以让我的 ADBannerView 静态显示在我的表视图控制器中并且仍然可点击?

谢谢您的建议!


耶!!毕竟我自己成功解决了这个(非常烦人的)问题(并且进行了大量阅读)!

首先,我发现这确实是改变世界的岗位 http://www.herrray.com/uitableviewcontroller-and-fixed-sub-views/。基本上这篇文章处理的主题是 UITableViewController 使用 self.view 作为其 tableView 属性,因此重写 tableView 属性(或手动合成它)加上给 self.view 一个新视图(来自应用程序)并添加 tableView 作为其子视图将使有可能达到realtableView 的超级视图。

但这仍然没有解决我的问题,尽管我确信它会解决,因为这一切都是有道理的。我的bannerView出现在正确的位置(并且已修复),但单击时它仍然没有执行任何操作。但还有第二件小事我不知道:

当我读到这个帖子 http://iphonedevsdk.com/forum/iphone-sdk-development/75193-iad-click-not-working.html子视图的父视图不仅必须是 userInteractionEnabled,而且还必须具有不透明的背景颜色。因为我的超级视图背景颜色设置为 [UIColor clearColor] 这一切都不起作用 - 但将其 backGroundColor 设置为例如blackColor 解决了整个问题:bannerView 终于可以点击了! :)

所以,我的代码现在看起来像这样:

@synthesize tableView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    if (!tableView && [self.view isKindOfClass:[UITableView class]]) {
        tableView = (UITableView *)self.view;
    }

    self.view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
    self.tableView.frame = self.view.bounds;
    [self.view addSubview:self.tableView];

    [self resizeTableToFitBanner];
    self.view.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:bannerView];

    // some other code
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向 UITableViewController 添加可点击和固定的子视图? 的相关文章

  • 移动文件并覆盖[重复]

    这个问题在这里已经有答案了 即使同名文件已存在 我也尝试移动文件 NSFileManager moveItemAtURL location1 toURL location2 Does NSFileManager的方法moveItemAtUR
  • 实现 UIPopoverBackgroundView 子类时出现乱码异常

    我已经按如下方式实现了这个类 import JKBackgroundView h implementation JKBackgroundView static CGFloat jkArrowBase 26 0 static CGFloat
  • AVPlayer 失败并显示 AVPlayerItemStatusFailed(OSStatus 错误 -12983)

    有时 AVPlayer 会失败AVPlayerItemStatusFailed发生故障后 AVPlayer 继续失败AVPlayerItemStatusFailed 我尝试清除 AVPlayer 实例并创建新实例 但无法实现AVPlayer
  • UIWebView stringByEvaluatingJavaScriptFromString 在后台

    在 iOS 应用程序中 我正在运行一个相当大的脚本UIWebView using stringByEvaluatingJavaScriptFromString 就 JavaScript 字符串的长度而言较大 调用 JavaScript 后会
  • 在模拟器上卸载应用程序后,NSUserDefaults 未清除

    这听起来可能很菜鸟 我想检查用户是否第二次进入我的应用程序 以便保留我正在使用的运行计数NSUserDefaults 我已经在我的中实现了以下代码rootViewController s viewDidLoad method NSUserD
  • 动态框架中未定义的架构符号

    我正在开发一个 iOS 框架 该框架包含多个第三方框架并使用 UnitySendMessage C 方法与 Unity 进行通信 我想创建一个动态框架 支持 iOS8 但我偶然发现以下编译错误 Undefined symbols for a
  • 当 tableView 的 allowedMultipleSelectionDuringEditing 属性为 YES 时,如何实现滑动删除功能?

    在 iOS 5 中 如果我设置allowsMultipleSelectionDuringEditing在 UITableView 上设置为 YES 然后滑动删除功能不再起作用 内置的邮件应用程序支持滑动删除和编辑模式下的多项选择 我也想这样
  • 将对象映射到 TableView 部分的 Swift 二维数组

    我想不出更好的方法来做到这一点 我将学生对象的所有属性映射到二维数组中 所以我的电视有几个部分 我也不能使用静态表视图 如果是这样 这个问题就不会存在 所以我在 TVC 中的代码 let currentUser PFUser current
  • 关闭应用程序后如何调试

    我正在尝试重现问题 这需要在特定位置关闭并重新打开我的应用程序 这是我的问题 1 如何查看我的日志 使用NSLog命令 当我的 iPhone 未连接到 XCode 时 2 是否可以将iPhone模拟器的特定位置 例如市中心 设置为默认位置
  • Iphone safari 无法在键盘打开时调整视口大小

    当键盘弹出时 Mobile safari 不会更新 window innerHeight 至少在9 3 5中 并且有几个答案 例如this https stackoverflow com a 17604856 2423187一 有评论说在
  • iPhone 表格部分页眉和页脚中的文本

    我有一个关于在表视图部分的页眉和页脚中打印文本的问题 我想在每行的页脚中显示一些文本 但这样做时遇到问题 当我开始下一部分时 它从第一个部分的下面开始绘制 要了解我到底需要什么 请转到 设置 gt 常规 gt 网络 在此屏幕中 我们有多个部
  • MPMoviePlayerViewController,删除 Quicktime 符号/添加背景图像?

    我有一个播放音频的 MPMoviePlayerViewController 我想删除 Quicktime 徽标和 或向播放器添加自定义背景图像 但保留播放控件 我发誓我在 iOS 5 之前就已经这样做过 但我无法重新弄清楚 我尝试过的事情
  • swift:移动动画

    我在故事板中有 viewController 还有4个正方形 我想将我的方块放在视图中 首先我想显示两个正方形 如果我按下按钮 我希望我的红色 2 个方块向左移动 然后显示接下来的 2 个蓝色方块 就像这部动画 我需要创建一个scrollV
  • 如何将 UILabel 与个人资料照片图像水平对齐?

    我必须显示名称和电子邮件 ID 与个人资料图像正确水平对齐 这样姓名和电子邮件 ID 就出现在 UIImageView 的中心 但您可以看到姓名和电子邮件 ID 不在个人资料图片的中心 为什么会发生这种情况 我给出了以下限制 删除前导和尾随
  • 如何在 UINavigationController 中收到弹出视图的通知?

    我想在用户按下我的后退按钮时执行操作UINavigationController当到达某个时UIViewController 不幸的是它看起来像UINavigationControllerDelegate没有任何方法来获取视图弹出的通知 作
  • 从 Xcode 6 安装失败:“存在内部 API 错误”

    我尝试在 ipad ios 7 1 2 上运行一个在我的手机 ios 8 4 1 上运行良好的应用程序 Xcode 提示 存在内部 API 错误 仅此而已 我不确定如何解释日志 怎么了 我该如何解决 ipad日志 Aug 29 17 39
  • 如何在 Swift 中将 Int 转换为字符

    我在这里挣扎了十多分钟 失败了 我屈服了 我需要在 Swift 中将 Int 转换为 Character 但无法解决它 Question 你如何转换 cast an Int integer to a Character char 在斯威夫特
  • 自调整大小的集合视图在 iOS 15 中进入递归循环

    我有一个自动调整大小的集合视图 当我调用 super layoutSubviews 时 我的应用程序崩溃 因为集合视图进入递归更新循环 这在 iOS 14 及更低版本中运行良好 但从 iOS 15 开始就观察到了这一点 class Dyna
  • dequeueReusableCellWithIdentifier: 如何工作?

    我想要一些精确的信息dequeueReusableCellWithIdentifier kCellIdentifier 如果我理解得很好 下面的 NSLOG 应该只打印一次 但事实并非如此 那么 dequeueReusableCell 的意
  • 从另一个选项卡重新加载 UITableView

    我在尝试重新加载时遇到问题UITableView从 XML 源加载的单元格数据 这是场景 应用程序包含选项卡 其中一个选项卡中有一个表格视图 它从 XML 文件获取数据并且工作正常 但问题是当我想要更改提要类别并从另一个选项卡更改 XML

随机推荐