簡體   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