2016-07-29 74 views
0

我需要創建一個「舊」風格的UIView,沒有自動版式和約束。在我看來,有一個表格視圖是用自動佈局和另一個視圖來計算它的大小。不幸的是,它看起來似乎並不能提供我需要的高度。這是我正在創建了UIView:增加高度,而不會自動佈局

// View 1 - Calendar View 

FSCalendar *calendar = [[FSCalendar alloc] initWithFrame:CGRectMake(0, 0, view.frame.size.width, height)]; 
calendar.dataSource = self; 
calendar.delegate = self; 

calendar.scopeGesture.enabled = YES; 

[view addSubview:calendar]; 

// View 2 - TableView 

_myTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 200, SCREEN_WIDTH, SCREEN_HEIGHT) style:UITableViewStylePlain]; 
    self.myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; 
    self.myTableView.tableFooterView = [UIView new]; 
    self.myTableView.backgroundColor = self.view.backgroundColor; 
    [self.myTableView setShowsHorizontalScrollIndicator:NO]; 
    [self.myTableView setShowsVerticalScrollIndicator:NO]; 
    // self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
    self.myTableView.estimatedRowHeight = 85.0; 
    self.myTableView.rowHeight = UITableViewAutomaticDimension; 
    _myTableView.bounces = NO; 
    self.myTableView.dataSource = self; 
    self.myTableView.delegate = self; 
    self.myTableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; 
    if (SYSTEM_VERSION_GREATER_THAN(@"8.4") && (IS_IPAD)){ 
     self.myTableView.cellLayoutMarginsFollowReadableWidth = NO; 
    } 

    [self.view addSubview:_myTableView]; 

我猜想問題可能出在這裏:

_myTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 200, SCREEN_WIDTH, SCREEN_HEIGHT) style:UITableViewStylePlain]; 

因爲,我失去了約200點的空間(y位置,我想以編程方式移動表視圖向下)。

有什麼辦法,以適應屏幕高度,以我的看法?

+0

在哪個方法中你寫這段代碼? –

+0

@JayeshThanki在視圖中加載 –

+0

我沒有得到你爲什麼以200作爲y原點在「_myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0,200,SCREEN_WIDTH,SCREEN_HEIGHT)style:UITableViewStylePlain]; 」? 要麼使200爲0或SCREEN_HEIGHT至(SCREEN_HEIGHT-200)。希望這可以幫助。 –

回答

1

如果這觀點是另一種看法裏面,它應該在layoutSubviews調整大小。

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    // your code here... 
} 

如果是的viewController的視圖內做調整大小的viewDidLayoutSubviews

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 

    // your code here... 
} 
+1

謝謝,那會做。 –

+0

你一定會用斯威夫特做到這一點,球員 – Fattie

+0

並沒有真正有所作爲:自動佈局可以使用或OBJ-C或迅速avioded –