- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 UIButton,单击它时会显示一个带有 UIDatePicker 的 UIPopover。
它应该显示在出生日期按钮下方,但它却覆盖了它。
这是我的代码:
- (IBAction)dateOfBirthButtonPressed:(id)sender{
UIViewController* popoverContent = [[UIViewController alloc] init];
UIView *popoverView = [[UIView alloc] init];
popoverView.backgroundColor = [UIColor blackColor];
UIDatePicker *datePickerTemp = [[UIDatePicker alloc]init];
datePickerTemp.frame=CGRectMake(0,44,320, 216);
datePickerTemp.datePickerMode = UIDatePickerModeDate;
datePickerTemp.maximumDate = [NSDate date];
self.datePicker = datePickerTemp;
[popoverView addSubview:self.datePicker];
UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.frame=CGRectMake(0,0 ,320, 40);
toolbar.barStyle = UIBarStyleBlackOpaque;
NSMutableArray *toolbarItems = [NSMutableArray array];
UIBarButtonItem *cancelButton1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(datePickerCancelButtonClicked)];
UIBarButtonItem *doneButton1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(datePickerSaveButtonClicked)];
UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolbarItems addObject:cancelButton1];
[toolbarItems addObject:space];
[toolbarItems addObject:doneButton1];
toolbar.items = toolbarItems;
[popoverView addSubview:toolbar];
[cancelButton1 release];
[space release];
[toolbar release];
popoverContent.view = popoverView;
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate=self;
self.datePopoverController = popoverController;
[popoverContent release];
[popoverView release];
[self.datePopoverController setPopoverContentSize:CGSizeMake(320, 264) animated:NO];
[self.datePopoverController presentPopoverFromRect:self.dateOfBirthButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
框架的 NSLog:
DOB button: {{160, 129}, {329, 37}}
Last name label: {{160, 77}, {329, 31}}
最佳答案
您的按钮是 View 的 subview ,还是埋在另一个 subview 中?如果它不是您 View 的直接 subview ,那么您的坐标空间将关闭。尝试将您的代码更改为:
CGRect buttonRect = [self.dateOfBirthButton convertRect:self.dateOfBirthButton.frame toView:self.view];
[self.datePopoverController presentPopoverFromRect:buttonRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
关于iphone - UIPopover 无法从 UIButton 正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548179/
如何在 iPad 中从另一个 Popover Controller 打开一个 Popover Controller ?我想对此有一些想法,请分享您的宝贵想法。 最佳答案 如果您打算在 App Stor
几个月来我一直在开发应用程序,没有出现任何弹出窗口问题。突然间,今天的弹出窗口变得一团糟。 我已经尝试了几种不同的方法,无论我何时通过按下弹出窗口中的按钮或点击弹出窗口之外的按钮来关闭弹出窗口,应用程
在我的应用程序中,我有 3 个 UIPopOver。当用户点击工具栏中的按钮时,它们就会出现。如果弹出框已经打开(如 -willAnimateRotationToInterfaceOrientatio
我是 iPad 开发人员的新手, 我在我的应用程序中使用UIPopover,当我选择弹出窗口中的任何行时,我的弹出窗口不会将其隐藏在 View 中,当我触摸外部任何地方时它就会隐藏屏幕。 我想在用户选
我有一个导航 Controller 作为弹出窗口的 View ,因此顶部有一个导航栏。 在第一个 View 中,没有导航栏提示,因此它保持通常的小尺寸。 然后,我插入下一个需要提示的 View Con
是否可以呈现一个没有任何类型的箭头指向某处的弹出窗口? 最佳答案 是的,可以这样做: [self.popoverController presentPopoverFromBarButtonItem:
如何从导航堆栈中消除弹出框。我有一个导航 Controller 作为弹出框的根 Controller ,堆栈中有 2 个 taes 。这样第一个表格 View 会插入第二个表格 View ,而第二个表
所以,我一直在研究互联网,但无法解决这个问题,因为我看到的所有答案都与 View 层数少于我的弹出窗口有关,如果这有意义的话。 无论如何,我有一个主视图,它打开一个弹出窗口,其中包含一个 UINavi
我有一个 iPad 应用程序(XCode 5、iOS 6、ARC 和 Storyboards),它有一个用于显示 UIView 的类。在一个单独的类中,我想在特定条件下显示 UIPopover。 我的
我有一个 iPad 应用程序,我在其中显示了一个 UIPopover View 。我想根据它在屏幕上的位置设置弹出窗口的背景。是否可以获取 UIPopover 相对于屏幕的准确位置? 最佳答案 试试这
我的应用程序有月 View ,对于一个月中的每一天,长按都会显示一个弹出窗口。 我已经使用 self.view setExclusiveTouch:YES 来防止一次出现多个弹出窗口,但偶尔仍然允许出
我想让 Popover 位于单元格标签的右侧,但它目前位于左上角。如何更改它以使其到达正确的位置? 我使用以下方法创建自定义单元格: var currentCell:CustomTableViewCe
我有一个 UIPopoverController,我试图从导航栏中的 UIBarButtonItem 显示它。尽管在 popover 的内容 viewController 中为 tableview 设
有没有办法使 UIPopOver 透明(alpha = 0.75 左右)。不幸的是,UIPopOver 没有 alpha 属性。我需要显示一个弹出窗口,以便它下面的 View 仍然部分可见。任何想法
我想知道如何使用这样的按钮创建弹出框。 回答: UIActionSheet * actionSheet = [[UIActionSheet alloc] initWithTitle: nil
我希望弹出窗口在应用程序首次以纵向模式启动时出现,而不是隐藏它并要求用户在弹出窗口出现之前点击按钮。我试图通过 Google 和其他 StackOverflow 线程之类的工具找到解决方案,但我一直无
我正在使用以下代码在我的 View 中显示弹出窗口 imagePopOver = [[UIPopoverController alloc]; initWithContentViewController
我正在尝试复制 iPad 密码 View 。这基本上是一个没有箭头方向的弹出窗口,它锁定背景 View 有点像模态视图 Controller 。 我的问题:有没有办法在呈现弹出窗口时锁定底层背景 Vi
我们面临一个问题,即当弹出窗口内使用 UIActionSheet 样式的alertController 时,弹出窗口大小会发生变化。这是在我们升级代码库 iOS13 后发生的 示例代码:https:/
我认为,我遇到了一个问题,即在释放UIPopoverController之前将其重新分配,这很奇怪,因为UIPopoverController是一个类变量。任何帮助将不胜感激。 这是错误,我正在 Mo
我是一名优秀的程序员,十分优秀!