【问题标题】:Place UIView At Finite Location on Screen with UITableView使用 UITableView 将 UIView 放置在屏幕上的有限位置
【发布时间】:2012-09-11 20:40:36
【问题描述】:

我有一个表格视图,它占用的空间超过了屏幕。某些行上有一个信息按钮。当这些被按下时,我想根据信息按钮所在的行向用户发送消息。我想在每次出现在屏幕上同一位置的基本 UIView 中显示此消息(有点像 UIAlertView)。

我的问题是为 UIView 指定框架,以便它在屏幕上的特定位置显示原点。尝试设置框架self.view.frame[UIScreen mainScreen].bounds 会导致使用整个scrollView 的边界或仅使用scrollView 的第一个可见元素。

如何使视图始终显示在同一屏幕位置?

【问题讨论】:

    标签: ios uiview uikit


    【解决方案1】:

    您需要将静态框架传递给您的自定义视图。像这样

    在 didSelectRowAtIndexPathMethod 中

    试试这个代码----

    UIView *infoView = [[UIView alloc] initWithFrame:CGRectMake(10,10,100,100)];
    UILabel *lblInfo = [UILabel alloc] initWithFrame:CGRectMake(5,5,40,21)];
    lblInfo.text = @"your text here";
    [infoView addSubView:lblInfo];
    [lblInfo release];
    [self.view addSubView:infoView];
    [infoView release];
    

    【讨论】:

    • 非常感谢!不幸的是,这不起作用:infoView 的原点在 scrollView 的范围内到达 10,10。如果用户已经滚动了几十行,然后按下了其中一个信息按钮,则 alertView 将显示在 scrollView 的最顶部。
    • 我告诉过你这段代码用于滚动视图的普通视图,你可以从滚动视图中获取 scrollOffset,然后根据它创建 infoView 框架。
    • 如果您使用的是 UITableViewController 则将其更改为普通 UIViewController 并从界面生成器添加 TableView。
    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2011-02-03
    相关资源
    最近更新 更多