XCode5 中 UITableviewCell 的弹出视图

Posted

技术标签:

【中文标题】XCode5 中 UITableviewCell 的弹出视图【英文标题】:Pop-up View for UITableviewCell in XCode5 【发布时间】:2014-03-25 13:26:41 【问题描述】:

我尝试为 iPhone 制作一个应用程序,它有一个 UITableViewController,每个单元格都是 UITableViewCell 的一个对象。每个单元格都有一个按钮。当有人按下按钮时,应该会出现一个弹出窗口并为他提供信息。 但是我无法管理弹出问题,我在 GitHub 中查找并找到 MJPopupViewController 但它给出了 exc_bad_access code=2 错误。

有没有人帮帮我

【问题讨论】:

请提供有关此问题的更多信息。 【参考方案1】:

正如 Johny 的想法,你可以使用 UIPopoverController:

   @interface YourViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imgSquare;
@property (strong, nonatomic) UIPopoverController *popover;
@end

@implementation YourViewController

- (void)viewDidLoad

    [super viewDidLoad];
    UIViewController *yourController;
    self.popover = [[UIPopoverController alloc] initWithContentViewController:yourController];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(showPopover)
                                                 name:@"yourNotificationName"
                                               object:nil];
    // Do any additional setup after loading the view, typically from a nib.




- (void)showPopover

    [self.popover presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem
                         permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];


- (void)didReceiveMemoryWarning

    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.



- (void)dealloc

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:@"yourNotificationName"
                                                  object:nil];

然后在点击 CustomTableViewCell 中的按钮时发布通知

- (void)buttonTapped
    
        [[NSNotificationCenter defaultCenter] postNotificationName:@"yourNotificationName"
                                                            object:self];
        //do anything
    

【讨论】:

是的,这就是我要找的!谢谢宝贝:D【参考方案2】:

创建一个UIPopoverController 属性和您要显示的 yourPopoverController。

self.popover=[[UIPopoverController alloc]initWithContentViewController:yourPopoverController];
self.popover.delegate=self;

在按钮单击中编写此代码

[self.popover presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem
 permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

【讨论】:

你知道 iPhone 不支持 UIPopupcontroller 吧? 是的,我以为他正在使用 ipad 应用程序,但在此之前,无论他是用于 ipad 还是 iphone,他都没有输入。

以上是关于XCode5 中 UITableviewCell 的弹出视图的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 不显示内容

具有自动布局的 UITableviewCell 约束失败

UITableViewCell 中的 UITextField 在运行时未出现

静态 UITableViewCell 中的 UISwitch 生成错误

UITableViewCell 子类布局在禁用自动布局的故事板中搞砸了

将标签连接到 XCode 5 中的插座