2011-09-30 38 views
5

Làm thế nào để tự động kéo dài UISegmented Control theo chiều ngang để điền đầy đủ UITableViewCell? Theo cách thức nó sẽ tự động thay đổi kích thước sau khi thay đổi hướng.làm thế nào để tự động kéo dài UISegmented Control theo chiều ngang để điền đầy đủ UITableViewCell?

Tôi đã thử những điều sau đây tuy nhiên điều này vẫn không hoạt động. Điều khiển phân đoạn xuất hiện trong ô ở bên trái, nhưng không tự kéo dài theo chiều ngang.

NSArray *itemArray = [NSArray arrayWithObjects: @"Feet", @"Metric", nil]; 
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray]; 
    segmentedControl.selectedSegmentIndex = [self.config.isMetric boolValue] ? 1 : 0; 
    segmentedControl.contentMode = UIViewContentModeScaleToFill; 
    [cell.contentView addSubview:segmentedControl]; 
    cell.contentView.contentMode = UIViewContentModeScaleToFill; 
    [segmentedControl release]; 

Trả lời

3

Bạn cần đặt khung cho UISegmentedControl trong trường hợp của bạn sẽ giống như khung của ô.

segmentedControl.frame = cell.frame; 
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
+0

hi Bourne - vì vậy không có cách nào để tự động kéo dài sau đó? Vì vậy, trong trường hợp này tôi sẽ phải thay đổi kích thước bằng tay sau khi thay đổi định hướng? – Greg

+0

Đã chỉnh sửa câu trả lời. Nên làm việc ngay bây giờ cho công tắc định hướng là tốt. – Bourne

+0

Bạn cũng có thể loại bỏ hai dòng đó trong mã hiện tại của bạn, nơi bạn đặt giá trị UIViewContentMode. – Bourne

Các vấn đề liên quan