因此我花费了大量时间尝试创建日期选择器操作表(因此它看起来比常规全屏视图更好)并且它只是不想在正确的位置加载。目前,操作表弹出约25%(可能只是标签栏的高度)剪裁。
我已经看了几乎每个我能找到的StackOverflow主题,这意味着我已经尝试创建指向appdelegate的指针并执行showInView:[[appdelegate window] view]以及showFromTabBar:[self tabBarController] tabBar和showFromTabBar [self parentViewController] tabBarController] tabBar]。 showInView或showFromTabBar的每个排列都会导致日期选择器向下移动大约标签栏的高度。
为了澄清一下,我发布行动表的观点是标签栏内导航栏中的一个视图。
UIActionSheet *dateSheet = [[UIActionSheet alloc] initWithTitle:@"Action Sheet Message"
delegate:self
cancelButtonTitle:@"nil
destructiveButtonTitle:@nil
otherButtonTitles:nil];
UIDatePicker *datePicker = [[[UIDatePicker alloc] init] autorelease];
[dateSheet addSubview:datePicker];
[dateSheet showFromTabBar:[[self tabBarController]tabBar]];
[dateSheet release];
如果有人能让我知道我做错了什么,我们将非常感激。
感谢。
答案 0 :(得分:0)
通常UIActionSheet
对象根据它必须显示的按钮来计算它的高度,在你的情况下它是无。所以它的高度很小,你只能看到子视图的一部分(datePicker
)。解决方法是声明一个合适的框架,
[dateSheet addSubview:datePicker];
[dateSheet showFromTabBar:[[self tabBarController]tabBar]];
[dateSheet setFrame:appropriateFrame];
[dateSheet release];
检查appropriateFrame
的正确值是什么并使用它们。从底部到它的位置的动画将被照顾。