标签: uipopovercontroller

在UIPopoverController的页脚中使用UISegmentedControl

在我的iPad应用程序取景器(iTunes的链接),我试图重新创建一个UISegmentedControl的外观为基调的Build的页脚酥料饼看出:

基调

iPad HIG建议使用底部对齐的UIToolbar,但外观不正确.此屏幕截图显示Black Opaque,但没有一个标准样式与Keynote匹配.

取景器

任何有关重新创建Keynote外观的建议都将受到赞赏.如果您在iPad上没有Keynote,则可以在地图中的"书签"弹出窗口的页脚中看到相同的技巧.

iphone hig uisegmentedcontrol ipad uipopovercontroller

10
推荐指数
1
解决办法
9913
查看次数

UIPopOverController + UITableView - 选择单元格时隐藏弹出窗口

在我的Popover控制器中,我有一个表格视图.在选择单元格时,我想隐藏弹出窗口.我怎样才能实现它.

uitableview uipopovercontroller ios

10
推荐指数
2
解决办法
1万
查看次数

UIPopoverController在没有委托调用的情况下解散

我有一个地图视图,我annotations根据一个开关添加和删​​除popovercontroller.当我在外面触摸时popover,它正确地解散并调用delegate方法popoverControllerDidDismissPopover: 我遇到的问题是当我切换popover(在弹出视图中触摸)中的开关时,如果我annotations从地图中移除它的行为正确并且弹出保持可见但如果我将其添加annotations到地图视图,则popover消失并且delegate不调用该方法.有没有人遇到过这种行为?

交换机的on和off代码之间的唯一区别是,一个annotations从数组中删除,而另一个添加annotations.添加annotations到地图视图时,这只是一个问题.任何帮助或建议将不胜感激.

popover是显示的方式:

-(IBAction)toggleMapFiltersView:(id)sender
 {
    LayerPopoverViewController *popOverViewController = [[LayerPopoverViewController alloc] init];
    [popOverViewController setDelegate:self];
    [popOverViewController setBranchesShowing:branchesShowing];
    [popOverViewController setSchoolsShowing:schoolsShowing];

    [layersButton setSelected:YES];

    popoverController = [[UIPopoverController alloc]   initWithContentViewController:popOverViewController];


    [popoverController setDelegate:self];
    [popOverViewController release];
    [popoverController presentPopoverFromRect:layersButton.frame
                                       inView:[self view] 
                     permittedArrowDirections:UIPopoverArrowDirectionAny 
                                     animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

这是从popover视图调用的方法:

-(IBAction)toggleSchools:(id)sender
{
    if ([self.delegate respondsToSelector:@selector(didChangeSchoolsDisplaySettingWithVisible:)])
    {
        if ([schoolsSwitch isOn])
        {
        [self.delegate didChangeSchoolsDisplaySettingWithVisible:YES];
             self.schoolsShowing = YES;
        } …
Run Code Online (Sandbox Code Playgroud)

iphone mkmapview uipopovercontroller ios

10
推荐指数
1
解决办法
1125
查看次数

如何在UIPopoverController(iOS7)中防止UITableView分隔符颜色变黑?

我的应用程序使用UITableViewController,它是UINavigationController的子代,UINavigationController是UIPopoverController的内容视图控制器.我正在定制UITableViewController的UITableView的外观.它适用于iOS 5和6,但它在iOS7中存在问题.单元格的分隔符设置为白色,表格视图最初显示为正确的分隔符颜色.但是,一旦我滚动表视图并重新加载单元格(意味着调用了cellForRowAtIndexPath和willDisplayCell函数),新重新加载的单元格的分隔符都是黑色的.

我通过在UITableViewController的viewDidLoad函数中调用此函数来自定义分隔符颜色:

self.tableView.separatorColor = [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)

如果我在应用程序的其他地方使用完全相同的表视图(而不是在UIPopoverController中),那么我没有这个问题.

据我所知,文档中没有任何内容表明这对于iOS 7而言应该与5或6不同.也许这是一个iOS错误?任何帮助将非常感激.

uitableview uipopovercontroller ios ios7

10
推荐指数
1
解决办法
3462
查看次数

当UIPopoverControllers被解除时,ipad会检测到

我的通用iPad应用程序中有几个uiPopoverControllers.我现在要求在某个弹出窗口被解除后触发一个函数.如果用户在弹出窗口内单击"关闭",我可以轻松地执行此操作,但如果他们触摸屏幕以隐藏弹出窗口,则无法触发我的功能.

我已经谷歌搜索了一段时间,似乎无法找到任何委托方法,我可以在我的主视图控制器中使用它来捕获它们.我会喜欢像didDismissPopoverController这样的东西 - 但我猜它是不可用的.

如果没有,我想唯一要做的就是检测触摸然后触发?基本上我突出显示UITableView行并加载popover.我需要取消选择行 - 所以想简单地调用[table reloaddata].

感谢您对此提供的任何帮助!

cocoa-touch ipad uipopovercontroller

9
推荐指数
1
解决办法
6162
查看次数

UIPopoverController中的动态UITableView高度(contentSizeForViewInPopover)?

我有一个包含的ipad popover UITableView.填充表后,它通常只有几个项目(4-5),所以我正在寻找一种方法来将popover(contentSizeForViewInPopover)的大小调整为实际的表高度(所有单元格的总高度).

所以,我有高度,但我不知道在哪里打电话contentSizeForViewInPopover,我曾尝试调用它:viewDidAppearviewWillAppear,但没有成功,因为它似乎是表被填充后,实际高度只有稍后提供.

有什么想法吗?谢谢!

编辑:我的细胞根据它们携带的内容有不同的高度,我不能预先计算高度 noOfRows * cellHeight.

cocoa-touch objective-c uitableview ipad uipopovercontroller

9
推荐指数
3
解决办法
1万
查看次数

UIPopoverController和UINavigationController削减了角落

我的弹出窗口显示有问题.之后initWithContentViewController:,presentPopoverFromBarButtonItem:permittedArrowDirections:animated:它切断导航栏的角落.我应该怎么解决?谢谢.

剪切导航栏的角落

这是我正在使用的代码

    NavContr *nav = [NavContr new];
    nav.navigationBar.backgroundColor = [UIColor redColor];
    UIPopoverController *tempPop = [[UIPopoverController alloc] initWithContentViewController:nav];
    [tempPop presentPopoverFromBarButtonItem:mainButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
Run Code Online (Sandbox Code Playgroud)

编辑:我已经解决了这个问题:

+ (void)configure:(UINavigationController *)navController {
    UINavigationBar *navigationBar = navController.navigationBar;       
    UIView *contentView = nil;

    for (UIView *view in navController.view.subviews) {
        if ([[NSString stringWithFormat:@"%@", [view class]] isEqualToString:@"UILayoutContainerView"])
            contentView = view;
    }

    // setting frame to navigation bar and content view
    [navigationBar setFrame:CGRectMake(navigationBar.frame.origin.x, 0, navigationBar.frame.size.width, navigationBar.frame.size.height)];
    [contentView setFrame:CGRectMake(contentView.frame.origin.x, 0, contentView.frame.size.width, contentView.frame.size.height + navigationBar.frame.size.height)];

    [navController.view bringSubviewToFront:contentView];

    for (UIView …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uinavigationcontroller uipopovercontroller

9
推荐指数
1
解决办法
4089
查看次数

IOS7 navigatinBar tintColor改变了popover

我开发了iPad应用程序.我用导航控制器在popover中打开一些屏幕.但我没有在IOS 7中更改导航控制器色调颜色.如何更改此颜色.感谢名单

在此输入图像描述

UINavigationController *navigationController = [[[UINavigationController alloc] initWithRootViewController:airportsSearch] autorelease];
navigationController.navigationBar.barTintColor = [UIColor blackColor];
navigationController.navigationBar.translucent = NO;
self.popOver=[[UIPopoverController alloc] initWithContentViewController:navigationController];

self.popOver.delegate                    = self;
[self.popOver setPopoverContentSize:CGSizeMake(285, 370)];

[self.popOver presentPopoverFromRect:tempButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
Run Code Online (Sandbox Code Playgroud)

navigationcontroller uipopovercontroller ios ios7

9
推荐指数
2
解决办法
6335
查看次数

UIActivityViewController问题iOS 7和iOS 8?

我正在为iPad构建一篇文章阅读应用程序.我已经集成了社交共享功能,这意味着用户可以在Facebook和谷歌邮件上分享文章.我正在UIActivityViewController用于分享.

有一个条形按钮项,当用户点击打开UIActivityViewController时.我更新了Xcode 6当我在模拟器上运行它运行正常但我在iOS 7的真实设备(iPad)上运行,应用程序在点击栏按钮项时崩溃.这是我的代码:

     - (IBAction)ysshareAction:(id)sender
       {

         NSURL *linkURL = [NSURL URLWithString:_DetailModal1[4]];//article url
         NSMutableAttributedString *stringText = [[NSMutableAttributedString alloc]  initWithString:_DetailModal1[0]];//_DetailModal1[0] contain article title////
        [stringText addAttribute:NSLinkAttributeName value:linkURL range:NSMakeRange(0, stringText.length)];
        NSArray * itemsArray = @[[NSString stringWithFormat:@"%@",_DetailModal1[0]], [NSURL URLWithString:_DetailModal1[4]]];
        NSArray * applicationActivities = nil;
        UIActivityViewController * AVC = [[UIActivityViewController alloc] initWithActivityItems:itemsArray applicationActivities:applicationActivities];
        AVC.popoverPresentationController.sourceView = _webView;
        [self presentViewController:AVC animated:YES completion:nil];
        [AVC setCompletionHandler:^(NSString *act, BOOL done)
        {

        if([act isEqualToString:UIActivityTypeMail]) {
         ServiceMsg = @"Mail sent!";
     } else if([act isEqualToString:UIActivityTypePostToTwitter]) {
         ServiceMsg = @"Article …
Run Code Online (Sandbox Code Playgroud)

objective-c ipad uipopovercontroller ios uiactivityviewcontroller

9
推荐指数
2
解决办法
2万
查看次数

要求<_UIPopoverBackgroundVisualEffectView>为其不透明度设置动画

我正在尝试显示(AlertController)操作表.但是我在控制台中逐渐减弱了"<_UIPopoverBackgroundVisualEffectView 0x7fd65ef76ec0>被要求设置其不透明度的动画.这将导致效果出现故障,直到不透明度返回到1."

这是我的代码: -

extension GroupDataView {

  func callDot (sender : UIButton)
  {
      let alert = UIAlertController(title: nil, message: nil,
                                  preferredStyle: .actionSheet)

      alert.addAction(UIAlertAction(title: "Edit Group", style: .default , handler:{ (action)in
        print("User click Edit Group")
      }))

      alert.addAction(UIAlertAction(title: "Create Folder", style: .default , handler:{ (action)in
        print("User click Create Folder button")
      }))

      alert.addAction(UIAlertAction(title: "Delete Group", style: .destructive , handler:{ (action)in
          print("User click Delete Group button")

      }))

        if let popoverController = alert.popoverPresentationController   {
          popoverController.sourceView = sender
          popoverController.sourceRect = sender.bounds

          self.present(alert, animated: true, completion: { …
Run Code Online (Sandbox Code Playgroud)

uialertview uipopovercontroller ios swift uialertcontroller

9
推荐指数
1
解决办法
5332
查看次数