如何将子视图从全屏更改为操作表样式

时间:2011-04-20 23:51:49

标签: iphone objective-c cocoa-touch

我认为当点击一个按钮时,它会显示一个类似下图的子视图。

然而这里浪费的空间很多。如何更改它以便子视图就像一个操作表,只需在拾取器正上方有一个完成/取消按钮的选择器就像通常那样。

目前此视图是IB中的UIView,并使用以下代码进行动画处理:

- (IBAction)dateButtonPressed
{
    [dateView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
    [self.view addSubview:dateView];
[UIView animateWithDuration:.5 animations:^{
        [dateView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

enter image description here

1 个答案:

答案 0 :(得分:0)

只需更改日期视图的框架即可。如果视图的高度保持为210(270 = 480-210),则使用(0,270,320,210)而不是(0,0,320,480)(如果是iPhone)

如果您希望取消和完成按钮出现在同一视图中,请使用日期选择器创建一个UIView,并使用完成和取消按钮创建一个工具栏。并再次将此UIView添加到您的视图中,并在CGRect中为dateView的帧传递调整后的“y”。