2009-06-22 31 views

Trả lời

11

Trong bộ dựng giao diện khi bạn chọn đối tượng UISegmentedControl trên giao diện người dùng, sau đó trong ngăn thuộc tính, trong điều khiển phân đoạn có trình đơn phân đoạn, chọn phân đoạn bạn muốn chọn (0,1 và vv) và đánh dấu vào 'đã chọn' tùy chọn bên dưới nó.

+0

Điều đó không thay đổi mặc định !!!! –

+1

Oh ya nhấp vào tùy chọn đã chọn. Tôi hiểu rồi. Cảm ơn. –

39

Từ mã, bạn chỉ có thể thực hiện self.segmentedControl.selectedSegmentIndex = someDefaultIndex.

Cho dù bạn nên đặt nó trong viewDidLoad: hoặc không phụ thuộc hoàn toàn vào cấu trúc của ứng dụng của bạn. Ví dụ: nếu ứng dụng của bạn khởi động và tải chế độ xem lần đầu tiên và cần đặt điều khiển thành bất kỳ giá trị nào trong ứng dụng trước đó thì chắc chắn sẽ có ý nghĩa khi thực hiện ở đó.

+0

+1 Cảm ơn! Làm việc như quyến rũ! –

0

Nếu bạn không sử dụng bảng phân cảnh và muốn đặt chỉ mục mặc định sau khi thiết lập/kết nối mạng như tôi, đoạn mã nhỏ này sẽ chọn điều gì đó nếu người dùng không có. Tôi đã đặt nó trong lớp con của tôi là UISegmentedControl, nhưng bạn có thể đặt nó ở bất cứ đâu. (Swift 3)

Decl: var UISegmentedControlNoSegment: Int { get } 
Desc: A segment index value indicating that there is no selected segment. See selectedSegmentIndex for further information. 

phiên bản ngắn:

if selectedSegmentIndex == UISegmentedControlNoSegment { 
    selectedSegmentIndex = initialIndex 
} 

phiên bản dài

func reloadData() { 
    guard let numberOfItems = dataSource?.numberOfItems() else { 
     return 
    } 

    removeAllSegments() 

    for index in 0...numberOfItems { 
     insertSegment(with: $image, at: index, animated: false) 
    } 

    if selectedSegmentIndex == UISegmentedControlNoSegment { 
     selectedSegmentIndex = initialIndex 
    } 
} 
0

Sau khi nhấp vào Kiểm soát phân đoạn, đến nơi bạn đã tạo phân đoạn và chọn phân đoạn bạn muốn làm mặc định. Sau đó, dưới đây sẽ có một hộp với "chọn" bởi nó. Chọn nó và nó sẽ được mặc định.

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