setModalTransitionStyle和setModalPresentationStyle,设置视图大小

时间:2011-05-03 09:49:24

标签: objective-c ios uimodalpresentationstyle

我创建了一个UIViewController(自定义日历,其大小为550x440),当我按下一个按钮时,它必须出现;问题是,如果我使用setModalPresentationStyle和setModalTransitionStyle,他们会改变我的视图的大小;我可以设置这些演示文稿的大小吗?

2 个答案:

答案 0 :(得分:2)

我找到了解决方案:

[self presentModalViewController:calendar animated:YES];

calendar.view.superview.frame = CGRectMake(0, 0, 200, 200);

答案 1 :(得分:1)

也许您想要更改设计以将日历实现为弹出窗口:

// Define the size of the calendar view controller for the popover
UIViewController *viewController = [[UIViewController alloc] init];
viewController.contentSizeForViewInPopover = CGSizeMake(550.0f, 440.0f);
viewController.delegate = self;

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;

// Create the popover
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:navigationController];

// Present the popover from one button
[popoverController presentPopoverFromBarButtonItem:button permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

//release the popover content
[viewController release];
[navigationController release];