Vì vậy, tôi có một view
với một loạt nút trong một UIScrollView
. Khi người dùng nhấn một nút, tôi muốn một UIPopOverController để hiển thị trỏ vào nút đã chọn. Đó là loại tác phẩm, nhưng cửa sổ bật lên có kích thước sai và trỏ đến một điểm ngẫu nhiên trong chế độ xem. Đây là mã của tôi. Cảm ơn trước.Trợ giúp với kích thước UIPopOverController
-(void)detail:(id)sender{
UIButton *button = sender;
NSLog(@"tag = %i", button.tag);
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.popover = [[UIPopoverController alloc] initWithContentViewController:navController];
self.popover.delegate = self;
[self.popover presentPopoverFromRect:button.bounds inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
Thần vấn đề với kích thước của popover: Trong quan điểm cho rằng là bên trong popover, tôi có:
self.contentSizeForViewInPopover = scroll.contentSize;
NSLog(@"%f, %f", scroll.contentSize.height, scroll.contentSize.width);
NSLog(@"showing: %f, %f", self.contentSizeForViewInPopover.height, self.contentSizeForViewInPopover.width);
và cả các bản ghi được phù hợp. Vì vậy, tôi nghĩ mọi thứ sẽ hoạt động chính xác. Nhưng nó không. Đây là ảnh chụp màn hình. Hãy cho tôi biết nếu bạn cần thêm mã của tôi. Cảm ơn trước.
Trong thời gian chờ đợi, tôi đã học để sử dụng contentOffset cho một tableView, nó phải tương tự cho một scrollView. 'CGRect f = [tableView rectForRowAtIndexPath: indexPath]; CGPoint yOffset = [tableView contentOffset]; CGRect frame = CGRectMake (f.origin.x, f.origin.y + 45 - yOffset.y, 200, 40); [self.poc presentPopoverFromRect: frame ... ' –
Ngoài ra, bạn cần phải khởi tạo UILabel đó. –