繁体   English   中英

调整uitableview高度

[英]Adjusting uitableview height

我正在使用uitableview创建一个简单的应用程序。 我想用代码创建所有内容。 我使用以下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    FBVCalendarViewController *calendarViewController = [[FBVCalendarViewController alloc] init];

    self.window.rootViewController = calendarViewController;
    [self.window makeKeyAndVisible];
    return YES;
}

...

- (void)loadView
{
    UITableView *calendarItems = [[UITableView alloc] init];
    self.view = calendarItems;
}

它可以正常工作,但应用程序会填充整个电话屏幕,与标准电话标题栏相交。

调整视图高度的正确方法是什么?

由于UITableView继承自UIScrollView ,因此您应该注意IOS 7出现的更改。

您的问题的解决方案是:

 if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

        [self setNeedsStatusBarAppearanceUpdate];
        self.automaticallyAdjustsScrollViewInsets = NO;
    }

(这会将表格视图保留在状态栏下方)。

希望能有所帮助。 但是您可能应该看看IOS 7引入的更改。

因此,我在loadView中使用以下代码解决了我的问题:

- (void)loadView
{
    UITableView *calendarItems = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];

    UIView *rootView = [[UIView alloc] init];
    [rootView addSubview:calendarItems];
    self.view = rootView;
}

我使用空的UIView作为tableView的父级,并更改了构造函数以显式指定UITableView框架。 我认为更好的方法是使用自动布局(当前,当我旋转设备时,它只是无法按预期方式工作)并将表视图定位到全屏或实现设备旋转回调并在那里更新框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM