弹出框内的iOS 7 UITableView

     2023-03-03     163

关键词:

【中文标题】弹出框内的iOS 7 UITableView【英文标题】:iOS 7 UITableView inside a popover 【发布时间】:2013-12-02 07:42:53 【问题描述】:

我有一个 UITableView,它有一些自定义样式。此表格视图出现在应用程序的两个位置,其中一个位于 UIPopoverController 内。但是,当 tableview 在弹出框内时,它会采用默认的 tableview 样式,如“弹出框”下的UI Transition Guide 中所述。

我遇到的问题是似乎没有地方可以改变这种行为。无论我在哪里尝试修改 tableview 的属性,popover 内的视图都不会改变。

有人处理过这个问题或者有什么想法吗?

这是我创建表格视图的 LibraryProductView 的 init 方法:

- (id)initWithFrame:(CGRect)frame

    self = [super initWithFrame:frame];
    if (self) 
        self.sectionOrdering = [NSArray arrayWithObjects:
                                [NSNumber numberWithInt:LIBRARY_PRODUCT_SECTION_DESCRIPTION],
                                [NSNumber numberWithInt:LIBRARY_PRODUCT_SECTION_DOCUMENTS],
                                [NSNumber numberWithInt:LIBRARY_PRODUCT_SECTION_ACTIVE_INGREDIENTS],
                                [NSNumber numberWithInt:LIBRARY_PRODUCT_SECTION_RELATED_PRODUCTS],
                                [NSNumber numberWithInt:LIBRARY_PRODUCT_SECTION_RELATED_DOCUMENTS], nil];

        self.backgroundColor = [UIColor whiteColor];

        self.tableView = [[UITableView alloc] initWithFrame:CGRectInset(self.bounds, 10, 0) style:UITableViewStyleGrouped];
        self.tableView.backgroundColor = [UIColor whiteColor];
        self.tableView.dataSource = self;
        self.tableView.delegate = self;
        self.tableView.separatorColor = [UIColor clearColor];
        self.tableView.showsVerticalScrollIndicator = NO;

        [self addSubview:self.tableView];
    
    return self;

这里是将包含视图 (LibraryProductView) 添加到弹出框的位置:

- (IBAction)didTouchInformationButton:(id)sender

    if (_infoPopover != nil && _infoPopover.isPopoverVisible)
    
        [_infoPopover dismissPopoverAnimated:YES];
        return;
    

    CGSize preferredSize = CGSizeMake(600.0f, 500.0f);

    LibraryProductViewController* productController = [[[LibraryProductViewController alloc] initWithPreferredSize:preferredSize] autorelease];
    productController.filterByMyCompany = NO;
    productController.product = _activityInput.product;

    UINavigationController* nav = [[[UINavigationController alloc] initWithRootViewController:productController] autorelease];
    nav.title = _activityInput.product.name;

    RELEASE(_infoPopover);
    _infoPopover = [[UIPopoverController alloc] initWithContentViewController:nav];
    _infoPopover.popoverContentSize = CGSizeMake(preferredSize.width, preferredSize.height + 46);
    [_infoPopover presentPopoverFromRect:_infoButton.frame inView:_infoButton permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];

LibraryProductView 是在 LibraryProductViewController 的 viewDidLoad 方法中创建的。

- (void)viewDidLoad

    [super viewDidLoad];

    self.libraryProductView = [[LibraryProductView alloc] initWithFrame:(usingPreferredSize ? CGRectMake(0.0, 0.0, preferredSize.width, preferredSize.height) : self.view.bounds)];
    self.libraryProductView.dataSource = self;
    self.libraryProductView.delegate = self;

    [self.view addSubview:self.libraryProductView];

【问题讨论】:

这里更新一些代码,你已经实现了。 您应该考虑到您的代码中有错误。所以你应该把它展示给我们。 我添加了一些代码。另外,由于它是“特定的编程问题”,为什么当它完全是主题时,这个问题被标记为“离题”?未能设置的属性之一是separatorColor “有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包括重现问题的有效代码。有关指导,请参阅 SSCCE.org。” ***.com/help/on-topic 【参考方案1】:

要设置 TableView 的属性,您可以在

中进行
- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView

    [tableView setBackgroundColor:[UIColor redcolor]];
    [tableView setSeparatorColor: [UIColor blueColor]];

    return 1;

当然,这假设您在 .h 文件中设置了 UITableViewDataSource

【讨论】:

仅当在 iOS 7 弹出框内使用视图时,如何使视图背景透明?

】仅当在iOS7弹出框内使用视图时,如何使视图背景透明?【英文标题】:HowtomaketheviewbackgroundtransparentonlyiftheviewisusedinsideaniOS7popover?【发布时间】:2014-01-2713:30:05【问题描述】:iOS7HIG说:(默认情况下,弹出窗口中的表格视图、... 查看详情

Bootstrap弹出框内的断线

】Bootstrap弹出框内的断线【英文标题】:BreakinglineinsideBootstrappopover【发布时间】:2018-09-2707:36:58【问题描述】:我正在使用
在引导弹出窗口data-content属性内换行,但它不起作用。这怎么可能?也可以在里面做一些加粗... 查看详情

弹出框内的按钮不起作用

】弹出框内的按钮不起作用【英文标题】:Buttonwithinpopovernotworking【发布时间】:2011-11-2112:46:46【问题描述】:对不起。刚刚点击。我在最后释放了按钮。好的,我的第一个iPad应用程序几乎完成了,一切看起来都很好,除了........ 查看详情

bootstrap:弹出框内的图像超出了窗口大小

】bootstrap:弹出框内的图像超出了窗口大小【英文标题】:bootstrap:Imageinsidethepopoverisextendingbeyondthewindowsize【发布时间】:2015-01-1008:31:34【问题描述】:我目前正在使用Bootstrap3弹出框功能来显示单击按钮时的图例图例是一个图像... 查看详情

从弹出框内的按钮更改视图

】从弹出框内的按钮更改视图【英文标题】:ChangingtheViewfromabuttonwithinaPopover【发布时间】:2011-09-0917:30:59【问题描述】:我最初有一个标签栏来更改我的应用程序中的视图。但是现在我已经摆脱了标签栏,并有了一个带有菜单... 查看详情

弹出框内的 UISearchDisplayController - 取消搜索时动画效果不佳

】弹出框内的UISearchDisplayController-取消搜索时动画效果不佳【英文标题】:UISearchDisplayControllerinsidepopover-badanimationoncancellingsearch【发布时间】:2011-05-1420:35:24【问题描述】:我的iPad应用程序使用弹出框来执行一些搜索。搜索结果... 查看详情

选择器作为弹出框内的输入视图

】选择器作为弹出框内的输入视图【英文标题】:Pickerasinputviewinsidepopover【发布时间】:2012-01-1700:53:05【问题描述】:我正在使用一个弹出框来显示一个iPhone大小的表格视图表单(与我的iPhone应用程序匹配)。在表格内,我有一... 查看详情

Twitter Bootstrap 弹出框内的 HTML

】TwitterBootstrap弹出框内的HTML【英文标题】:HTMLinsideTwitterBootstrappopover【发布时间】:2012-10-2313:21:34【问题描述】:我试图在引导弹出窗口中显示HTML,但不知何故它不起作用。我在这里找到了一些答案,但它对我不起作用。如果... 查看详情

如何将弹出框内的输入标签绑定到 Vue 模型

】如何将弹出框内的输入标签绑定到Vue模型【英文标题】:HowtobindaninputtaginsideapopovertoVueModel【发布时间】:2018-01-0600:49:37【问题描述】:我在弹出框内容中有一个input,如下所示:JSFiddleHTML:<divid="vue-app"><divclass="btnbtn-prim... 查看详情

从引导弹出框内的元素中删除类

】从引导弹出框内的元素中删除类【英文标题】:Removeclassfromelementinsidebootstrappopover【发布时间】:2019-03-0912:36:42【问题描述】:我正在使用引导弹出框来显示收件人列表的可用操作列表。弹出框:<ulclass=\'list-unstyledrecipients-po... 查看详情

iOS:关闭使用界面生成器生成的弹出框,并在弹出框内使用按钮

】iOS:关闭使用界面生成器生成的弹出框,并在弹出框内使用按钮【英文标题】:iOS:dismisspopOvergeneratedwithInterfaceBuilderwithbuttonwithinthepopOver【发布时间】:2013-05-2912:29:12【问题描述】:我有一个通向popOver的按钮,所有这些都是在I... 查看详情

iOS 弹出框在关闭后不会消失

】iOS弹出框在关闭后不会消失【英文标题】:iOSPopoverDoesNotGoAwayAfterDismiss【发布时间】:2018-12-3105:48:13【问题描述】:我们有一个视图控制器在单击时显示来自UIBarButtonItem的弹出窗口。弹出框显示得很好,但是当我们单击弹出框... 查看详情

iOS:UIPopoverController 内的人物选择器,搜索键盘扭曲弹出框

】iOS:UIPopoverController内的人物选择器,搜索键盘扭曲弹出框【英文标题】:iOS:PeoplepickerinsideUIPopoverController,searchkeyboarddistortspopover【发布时间】:2012-09-2800:02:05【问题描述】:我在UIPopoverController中有一个人物选择器,因为它有... 查看详情

ngRepeat 在 Bootstrap 弹出框内

】ngRepeat在Bootstrap弹出框内【英文标题】:ngRepeatInsideofBootstrapPopover【发布时间】:2014-08-0122:30:14【问题描述】:我一直在网上搜索并绞尽脑汁,但似乎无法找到解决方案。我需要在ng-repeat内制作一个弹出框,其中弹出框内部也... 查看详情

引导弹出框内的 onclick 事件

】引导弹出框内的onclick事件【英文标题】:onclickeventinsidebootstrappopover【发布时间】:2018-10-2204:50:51【问题描述】:当inbox按钮被点击时,它会运行inbox_open()函数并在收件箱标题中出现3个按钮,但缺少onclick事件侦听器。在//inbox.o... 查看详情

iPad可以将导航控制器放在弹出框内吗?

】iPad可以将导航控制器放在弹出框内吗?【英文标题】:iPadcannavigationcontrollerbeputinsidepopover?【发布时间】:2012-02-0616:50:17【问题描述】:我制作了显示UITableViewController的弹出框,用于导航。我有兴趣知道的是-你能在弹出框内使... 查看详情

如何调试弹出框?

】如何调试弹出框?【英文标题】:Howtodebugapopover?【发布时间】:2012-01-2806:20:46【问题描述】:在这个小提琴http://jsfiddle.net/mjmitche/qVdEy/6/上,您可以看到弹出框内的文本对齐是完美的,但是,当我在我的网站上放置完全相同的c... 查看详情

弹出框内选择器视图中的问题

】弹出框内选择器视图中的问题【英文标题】:issueinpickerviewinsidepopover【发布时间】:2013-06-1212:41:47【问题描述】:我正在Ipad中制作应用程序,我在Xib中使用了一个pickerviewController,当用户单击特定按钮时我会显示它现在我正试... 查看详情