2010-07-27 35 views
12

Tôi đang hiển thị chế độ xem trong cửa sổ bật lên. Khi tôi nhấp vào một nút trong chế độ xem này, một chế độ xem khác sẽ được đẩy vào cửa sổ bật lên bằng bộ điều khiển điều hướng. Trong khi đẩy, chiều cao của cửa sổ bật lên được mở rộng. Làm cách nào để giữ nguyên cùng chiều cao cửa sổ bật lên?Làm thế nào để bạn đặt kích thước nội dung của UIPopoverController?

Trả lời

18

Trong tất cả các bộ điều khiển chế độ xem của bạn, ghi đè -contentSizeForViewInPopover và trả lại cùng kích thước cho tất cả chúng.

+3

Chỉ cần làm rõ, trong bộ điều khiển khung nhìn cung cấp những gì bên trong cửa sổ bạn cần ghi đè lên '-contentSizeForViewInPopover' – Ali

+1

Trong khi chính xác trước đó cho iOS 7, điều này hiện không được chấp nhận và không còn hoạt động trong iOS 8.1 nữa. Xem câu trả lời thay thế. – Mike

2

-contentSizeForViewInPopover không được chấp nhận như iOS 7 và dường như không hoạt động trong iOS 8.1. (Tôi không chắc chắn khi nào nó ngừng hoạt động.) Phương pháp mới là thiết lập preferencesContentSize, có lẽ như thế này:

MyPopoverViewController *myPopoverViewController = [[MyPopoverViewController alloc] initWithNibName: @"MyPopoverViewController" bundle: nil]; 
    myPopoverViewController.preferredContentSize = CGSizeMake(186, 160); 

    self.myPopover = [[UIPopoverController alloc] initWithContentViewController: myPopoverViewController]; 
    myPopover.delegate = self; 

    [myPopover presentPopoverFromRect: self.myButton.frame inView: self.view permittedArrowDirections: UIPopoverArrowDirectionAny animated: YES]; 
Các vấn đề liên quan