我試圖根據標題UISegmentedControl
中的選擇調整部分標題的大小。 出於某種原因,它只是不想工作。我已經嘗試過[self.tableView beginUpdates];
和[self.tableView endUpdates];
之前,周圍和之後的變化高度代碼..但它只是很奇怪。調整UITableViewController中部分標題的大小無法正常工作
我知道它隱藏和顯示內容,但它似乎爲視圖分配不同的高度,即使認爲標題的大小應該更小。
這是發生了什麼: https://dl.dropboxusercontent.com/u/3077127/Problem3.mov
這是我的代碼:
typedef enum {
kSearchTypeFrom = 0,
kSearchTypeTo
} kSearchType;
@interface MainVC()
@property (nonatomic, strong) FilterVC *filterView;
@property (nonatomic, assign) kSearchType searchType;
@end
@implementation MainVC
@synthesize filterView = _filterView;
@synthesize searchType = _searchType;
[...]
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.searchType = kSearchTypeFrom;
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
// Configure the cell...
[cell.detailTextLabel setText:@"Test"];
return cell;
}
- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (!self.filterView) {
self.filterView = [[FilterVC alloc] init];
[self.filterView.view setBackgroundColor:self.navigationController.navigationBar.barTintColor];
}
[self.filterView.segment setSelectedSegmentIndex:self.searchType];
[self.filterView.segment addTarget:self action:@selector(didChangeSegmentSelection:) forControlEvents:UIControlEventValueChanged];
return self.filterView.view;
}
- (float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (self.searchType == kSearchTypeFrom)
{
return 130;
}
else {
return 100;
}
}
#pragma mark - Height change table section
- (void)didChangeSegmentSelection:(UISegmentedControl*)segment
{
[self.tableView beginUpdates];
self.searchType = segment.selectedSegmentIndex;
NSLog(@"Selected: %d", segment.selectedSegmentIndex);
if (segment.selectedSegmentIndex == 0)
{
[self.filterView.changeToText setHidden:NO];
[self.filterView.changeToButton setHidden:NO];
[self.filterView.fromButton setUserInteractionEnabled:NO];
}
else {
[self.filterView.changeToText setHidden:YES];
[self.filterView.changeToButton setHidden:YES];
[self.filterView.fromButton setUserInteractionEnabled:YES];
}
[self.tableView endUpdates];
[self.filterView.view needsUpdateConstraints];
}
[...]
的FilterVC
類不過是包含以下內容的UIViewController的更多:
是什麼我做錯了嗎?
你的Dropbox的鏈接似乎並不有效。 –
對不起...假期項目..和度假村的無線網絡連接不好。沒有上傳。我現在正在嘗試。 –
@TimothyMoose文件已上傳,應該可以工作。感謝您的注意。 –